Class: Chef::ResourceResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/chef/resource_resolver.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(node, resource) ⇒ ResourceResolver



29
30
31
32
# File 'lib/chef/resource_resolver.rb', line 29

def initialize(node, resource)
  @node = node
  @resource = resource
end

Instance Attribute Details

#actionObject (readonly)

Returns the value of attribute action.



27
28
29
# File 'lib/chef/resource_resolver.rb', line 27

def action
  @action
end

#nodeObject (readonly)

Returns the value of attribute node.



25
26
27
# File 'lib/chef/resource_resolver.rb', line 25

def node
  @node
end

#resourceObject (readonly)

Returns the value of attribute resource.



26
27
28
# File 'lib/chef/resource_resolver.rb', line 26

def resource
  @resource
end

Instance Method Details

#enabled_handlersObject

this cut looks at if the resource can handle the resource type on the node



45
46
47
48
49
50
51
# File 'lib/chef/resource_resolver.rb', line 45

def enabled_handlers
  @enabled_handlers ||=
    resources.select do |klass|
      klass.provides?(node, resource)
    end.sort {|a,b| a.to_s <=> b.to_s }
  @enabled_handlers
end

#resolveObject



39
40
41
42
# File 'lib/chef/resource_resolver.rb', line 39

def resolve
  maybe_dynamic_resource_resolution(resource) ||
    maybe_chef_platform_lookup(resource)
end

#resourcesObject

return a deterministically sorted list of Chef::Resource subclasses



35
36
37
# File 'lib/chef/resource_resolver.rb', line 35

def resources
  @resources ||= Chef::Resource.descendants
end