Method: Arrow::Config#method_missing
- Defined in:
- lib/arrow/config.rb
#method_missing(sym, *args) ⇒ Object (protected)
Hook up delegators to struct-members as they are called
320 321 322 323 324 325 326 327 328 329 330 331 332 333 |
# File 'lib/arrow/config.rb', line 320 def method_missing( sym, *args ) key = sym.to_s.sub( /(=|\?)$/, '' ).to_sym return nil unless @struct.member?( key ) self.log.debug( "Autoloading #{key} accessors." ) self.class.class_eval %{ def #{key}; @struct.#{key}; end def #{key}=(*args); @struct.#{key} = *args; end def #{key}?; @struct.#{key}?; end } @struct.__send__( sym, *args ) end |