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