Class: Dragonfly::Configurable::ConfigurationProxy
- Inherits:
 - 
      Object
      
        
- Object
 - Dragonfly::Configurable::ConfigurationProxy
 
 - Defined in:
 - lib/dragonfly/configurable.rb
 
Instance Method Summary (collapse)
- 
  
    
      - (ConfigurationProxy) initialize(owner) 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of ConfigurationProxy.
 - - (Object) method_missing(method_name, *args, &block)
 
Constructor Details
- (ConfigurationProxy) initialize(owner)
Returns a new instance of ConfigurationProxy
      176 177 178  | 
    
      # File 'lib/dragonfly/configurable.rb', line 176 def initialize(owner) @owner = owner end  | 
  
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
- (Object) method_missing(method_name, *args, &block)
      180 181 182 183 184 185 186 187 188 189 190 191 192 193  | 
    
      # File 'lib/dragonfly/configurable.rb', line 180 def method_missing(method_name, *args, &block) if owner.has_config_method?(method_name) attribute = method_name.to_s.tr('=','').to_sym if method_name.to_s =~ /=$/ && owner.has_config_method?(attribute) # a bit hacky - if it has both getter and setter, assume it's a configurable_attr owner.set_config_value(attribute, args.first) else owner.send(method_name, *args, &block) end elsif nested_configurable?(method_name) owner.send(method_name) else raise BadConfigAttribute, "You tried to configure using '#{method_name.inspect}', but the valid config attributes are #{owner.config_methods.map{|a| %('#{a.inspect}') }.sort.join(', ')}" end end  |