Sha256: 7b81efcea21ffb86c71341e74e125a275f467ed21ae7c71d601749c6a294af6c
Contents?: true
Size: 1.66 KB
Versions: 1
Compression:
Stored size: 1.66 KB
Contents
require 'pathname' require 'chef/rest' require 'chef/cookbook_version' module Berkshelf module RSpec module ChefAPI def purge_cookbook(name, version) rest.delete_rest("cookbooks/#{name}/#{version}?purge=true") rescue Net::HTTPServerException => e raise unless e.to_s =~ /^404/ end def server_has_cookbook?(name, version) rest.get_rest("cookbooks/#{name}/#{version}") true rescue Net::HTTPServerException => e false end def generate_cookbook(path, name, version, options = {}) path = Pathname.new(path) cookbook_path = path.join("#{name}-#{version}") directories = [ "recipes", "templates/default", "files/default", "attributes", "definitions", "providers", "resources" ] files = [ "recipes/default.rb", "templates/default/template.erb", "files/default/file.h", "attributes/default.rb" ] directories.each do |directory| FileUtils.mkdir_p(cookbook_path.join(directory)) end files.each do |file| FileUtils.touch(cookbook_path.join(file)) end metadata = <<-EOF name "#{name}" version "#{version}" EOF if options[:dependencies] options[:dependencies].each do |name, constraint| metadata << "depends '#{name}', '#{constraint}'\n" end end File.write(cookbook_path.join("metadata.rb"), metadata) end private def rest quietly { Chef::REST.new(Chef::Config[:chef_server_url]) } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
berkshelf-0.3.7 | spec/support/chef_api.rb |