lib/ridley/resources/environment_resource.rb in ridley-0.11.2 vs lib/ridley/resources/environment_resource.rb in ridley-0.12.0.rc1

- old
+ new

@@ -2,9 +2,28 @@ # @author Jamie Winsor <reset@riotgames.com> class EnvironmentResource < Ridley::Resource set_resource_path "environments" represented_by Ridley::EnvironmentObject + # Used to return a hash of the cookbooks and cookbook versions (including all dependencies) + # that are required by the run_list array. + # + # @param [String] environment + # name of the environment to run against + # @param [Array] run_list + # an array of cookbooks to satisfy + # + # @raise [Errors::ResourceNotFound] if the given environment is not found + # + # @return [Hash] + def cookbook_versions(environment, run_list = []) + run_list = Array(run_list).flatten + chef_id = environment.respond_to?(:chef_id) ? environment.chef_id : environment + request(:post, "#{self.class.resource_path}/#{chef_id}/cookbook_versions", MultiJson.encode(run_list: run_list)) + rescue Errors::HTTPNotFound => ex + abort Errors::ResourceNotFound.new(ex) + end + # Delete all of the environments on the client. The '_default' environment # will never be deleted. # # @return [Array<Ridley::EnvironmentObject>] def delete_all