Class: Chef::Platform::HandlerMap

Inherits:
NodeMap
  • Object
show all
Defined in:
lib/chef/platform/handler_map.rb

Direct Known Subclasses

ProviderHandlerMap, ResourceHandlerMap

Instance Method Summary collapse

Methods inherited from NodeMap

#delete_canonical, #get, #list, #set

Instance Method Details

#compare_matchers(key, new_matcher, matcher) ⇒ Object

“provides” lines with identical filters sort by class name (ascending).



27
28
29
30
31
32
33
34
35
36
37
# File 'lib/chef/platform/handler_map.rb', line 27

def compare_matchers(key, new_matcher, matcher)
  cmp = super
  if cmp == 0
    # Sort by class name (ascending) as well, if all other properties
    # are exactly equal
    if new_matcher[:value].is_a?(Class) && !new_matcher[:override]
      cmp = compare_matcher_properties(new_matcher, matcher) { |m| m[:value].name }
    end
  end
  cmp
end