Class: Aruba::ConfigWrapper
- Inherits:
 - 
      Object
      
        
- Object
 - Aruba::ConfigWrapper
 
 
- Defined in:
 - lib/aruba/config_wrapper.rb
 
Overview
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.
Instance Method Summary collapse
- 
  
    
      #==(other)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Compare two configs.
 - 
  
    
      #initialize(config, event_bus)  ⇒ ConfigWrapper 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
Create proxy.
 - 
  
    
      #method_missing(name, *args, &block)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Proxy all methods.
 - 
  
    
      #respond_to?(m)  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    
Pass on respond_to?-calls.
 - 
  
    
      #respond_to_missing?(name, _include_private)  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    
Pass on respond_to?-calls.
 
Constructor Details
#initialize(config, event_bus) ⇒ ConfigWrapper
Create proxy
      25 26 27 28  | 
    
      # File 'lib/aruba/config_wrapper.rb', line 25 def initialize(config, event_bus) @config = config @event_bus = event_bus end  | 
  
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args, &block) ⇒ Object
Proxy all methods
If one method ends with “=”, e.g. “:option1=”, then notify the event queue, that the user changes the value of “option1”
      34 35 36 37 38 39 40  | 
    
      # File 'lib/aruba/config_wrapper.rb', line 34 def method_missing(name, *args, &block) notify(name, args) if name.to_s.end_with?('=') return config.send(name, *args, &block) if config.respond_to? name super end  | 
  
Instance Method Details
#==(other) ⇒ Object
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.
      53 54 55  | 
    
      # File 'lib/aruba/config_wrapper.rb', line 53 def ==(other) config == other end  | 
  
#respond_to?(m) ⇒ Boolean
Pass on respond_to?-calls
      58 59 60  | 
    
      # File 'lib/aruba/config_wrapper.rb', line 58 def respond_to?(m) config.respond_to? m end  | 
  
#respond_to_missing?(name, _include_private) ⇒ Boolean
Pass on respond_to?-calls
      43 44 45  | 
    
      # File 'lib/aruba/config_wrapper.rb', line 43 def respond_to_missing?(name, _include_private) config.respond_to? name end  |