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.



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

def initialize(*configs)
  @configs = configs
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

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



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

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)


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

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

#rootObject



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

def root
  @configs.first
end