class Aruba::ConfigWrapper
This wraps the current runtime configuration of aruba. If an option is changed, it notifies the event queue.
This class is not meant for direct use - ConfigWrapper.new
- by normal users.
@private
Attributes
config[R]
event_bus[R]
Public Class Methods
new(config, event_bus)
click to toggle source
Create proxy
@param [Config] config
An aruba config object.
@param [#notify] event_bus
The event queue which should be notified.
# File lib/aruba/config_wrapper.rb, line 23 def initialize(config, event_bus) @config = config @event_bus = event_bus end
Public Instance Methods
==(other)
click to toggle source
Compare two configs
The comparism is done based on their values. No hooks are compared.
Somehow `#respond_to_missing?`, `method_missing?` and `respond_to?` don't help here.
# File lib/aruba/config_wrapper.rb, line 49 def ==(other) config == other end
method_missing(name, *args, &block)
click to toggle source
Proxy all methods
If one method ends with “=”, e.g. “:option1=”, then notify the event queue, that the user changes the value of “option1”
# File lib/aruba/config_wrapper.rb, line 32 def method_missing(name, *args, &block) event_bus.notify Events::ChangedConfiguration.new(:changed => { :name => name.to_s.gsub(/=$/, ''), :value => args.first }) if name.to_s.end_with? '=' config.send(name, *args, &block) end
respond_to?(m)
click to toggle source
Pass on respond_to?-calls
# File lib/aruba/config_wrapper.rb, line 54 def respond_to?(m) config.respond_to? m end
respond_to_missing?(name, _include_private)
click to toggle source
Pass on respond_to?-calls
# File lib/aruba/config_wrapper.rb, line 39 def respond_to_missing?(name, _include_private) config.respond_to? name end