Skip to content

Instantly share code, notes, and snippets.

@tobami
Forked from timdiggins/chef-roles-to-json-task.rb
Created February 21, 2011 08:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save tobami/836801 to your computer and use it in GitHub Desktop.
Save tobami/836801 to your computer and use it in GitHub Desktop.
Chef ruby roles to json
# ADD this to Rakefile and run it by issuing rake roles.to_json
ROLE_DIR = File.expand_path(File.join(TOPDIR, "roles"))
namespace :roles do
desc "Convert ruby roles from ruby to json, creating/overwriting json files."
task :to_json do
Dir.glob(File.join(ROLE_DIR, '*.rb')) do |rb_file|
role = Chef::Role.new
role.from_file(rb_file)
json_file = rb_file.sub(/\.rb$/,'.json')
File.open(json_file, 'w'){|f| f.write(JSON.pretty_generate(role))}
end
end
end
# relates to Chef roles. see http://wiki.opscode.com/display/chef/Roles
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment