I think this is rad, Bryan. I’ve been using this pattern in cookbooks for a long time, and it never occurred to me what I was just copying ridiculous boilerplate.
Thanks!
Adam
From: Bryan Berry <bryan.berry@gmail.commailto:bryan.berry@gmail.com>
Reply-To: "chef@lists.opscode.commailto:chef@lists.opscode.com" <chef@lists.opscode.commailto:chef@lists.opscode.com>
Date: Sunday, November 11, 2012 10:52 AM
To: "chef@lists.opscode.commailto:chef@lists.opscode.com" <chef@lists.opscode.commailto:chef@lists.opscode.com>
Subject: [chef] Re: “edit” your resources in a library cookbook from an application cookbook
Dear Chef users!
chef-edit has been renamed chef-rewind https://github.com/bryanwb/chef-rewind , enjoy!
file postgresql/recipes/server.rb
user “postgres” do
uid 26
home '/home/postgres’
supports :manage_home => true
end
file my-postgresql/recipes/
require ‘chef/edit’
include_recipe “postgresql::server”
rewind "user[postgres]"
home '/var/lib/pgsql/9.2’
end
On Wed, Nov 7, 2012 at 6:51 PM, Bryan Berry <bryan.berry@gmail.commailto:bryan.berry@gmail.com> wrote:
ahead of tomorrow’s G+ hangout on Cookbook reusability, I whipped up
this little gem that embodies what I have in mind for making cookbooks
more reusable. This is alpha level code.
chef-edit essentially allows you to reopen an existing resource. It is
mostly just syntactic sugar on top of the Chef::Recipe.resources
method
https://github.com/bryanwb/chef-edit
Add this line to your application’s Gemfile:
Installation
gem 'chef-edit’
And then execute:
Or install it yourself as:
$ gem install chef-edit
Usage
file postgresql/recipes/server.rb
user “postgres” do
uid 26
home '/home/postgres’
supports :manage_home => true
end
file my-postgresql/recipes/
require ‘chef/edit’
include_recipe “postgresql::server”
edit "user[postgres]"
home '/var/lib/pgsql/9.2’
end