Method: CascadingConfiguration::Core::Module::InheritingValues#get_configuration_searching_upward

Defined in:
lib/cascading_configuration/core/module/inheriting_values.rb

#get_configuration_searching_upward(encapsulation, instance, configuration_name) ⇒ Object

get_configuration_searching_upward #



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/cascading_configuration/core/module/inheriting_values.rb', line 40

def get_configuration_searching_upward( encapsulation, instance, configuration_name )

  configuration_value = nil

  matching_ancestor = nil

  did_match_ancestor = false

  matching_ancestor = encapsulation.match_parent( instance, configuration_name ) do |this_ancestor|
    if encapsulation.has_configuration_value?( this_ancestor, configuration_name )
      did_match_ancestor = true
    else
      false
    end
  end

  if did_match_ancestor
    configuration_value = encapsulation.get_configuration( matching_ancestor, configuration_name )
  end
  
  return configuration_value
  
end