Method: Chef::ResourceCollection#resources

Defined in:
lib/chef/resource_collection.rb

#resources(*args) ⇒ Object

Find existing resources by searching the list of existing resources. Possible forms are:

resources(:file => “foobar”) resources(:file => [ “foobar”, “baz” ]) resources(“file“, ”file“) resources(“file”)

Returns the matching resource, or an Array of matching resources.

Raises an ArgumentError if you feed it bad lookup information Raises a Runtime Error if it can’t find the resources you are looking for.



132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# File 'lib/chef/resource_collection.rb', line 132

def resources(*args)
  results = Array.new
  args.each do |arg|
    case arg
    when Hash
      results << find_resource_by_hash(arg)
    when String
      results << find_resource_by_string(arg)
    else
      raise ArgumentError, "resources takes arguments as a hash or strings!"
    end
  end
  flat_results = results.flatten
  flat_results.length == 1 ? flat_results[0] : flat_results
end