Class: Pollen::CompositeConfiguration

Inherits:
Object
  • Object
show all
Defined in:
lib/pollen/configuration.rb

Instance Method Summary collapse

Constructor Details

#initialize(*configs) ⇒ CompositeConfiguration

Returns a new instance of CompositeConfiguration.



49
50
51
# File 'lib/pollen/configuration.rb', line 49

def initialize(*configs)
  @configs = configs
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *_args, **_) ⇒ Object



53
54
55
56
57
58
# File 'lib/pollen/configuration.rb', line 53

def method_missing(name, *_args, **_)
  @configs.each do |config|
    return config.send(name) if config.respond_to?(name) && !config.send(name).nil?
  end
  nil
end

Instance Method Details

#respond_to_missing?(name, _ = false) ⇒ Boolean

Returns:

  • (Boolean)


60
61
62
# File 'lib/pollen/configuration.rb', line 60

def respond_to_missing?(name, _ = false)
  @configs.map { |config| config.respond_to?(name) }.any?
end

#rootObject



64
65
66
# File 'lib/pollen/configuration.rb', line 64

def root
  @configs.first
end