Module: Forwarder

Defined in:
lib/forwarder.rb,
lib/forwarder/meta.rb,
lib/forwarder/params.rb,
lib/forwarder/evaller.rb,
lib/forwarder/version.rb,
lib/forwarder/compiler.rb,
lib/forwarder/arguments.rb

Defined Under Namespace

Modules: Evaller Classes: Arguments, Compiler, Meta, Params

Constant Summary collapse

VERSION =
'0.2.1'

Instance Method Summary collapse

Instance Method Details

#forward(*args, &blk) ⇒ Object

How forward works: The parameters are analyzed by the Params object by means of the ‘prepare_forward` method. The `prepare_forward` method makes havy use of the Argument object which implements a query API for what the given arguments allow the forwarder to do. And eventually the `forward!` method realises the delegation.



11
12
13
14
15
# File 'lib/forwarder.rb', line 11

def forward *args, &blk
  params = Forwarder::Params.new self
  params.prepare_forward( *args, &blk )
  params.forward!
end

#forward_all(*args, &blk) ⇒ Object



17
18
19
20
21
22
# File 'lib/forwarder.rb', line 17

def forward_all *args, &blk
  params = Forwarder::Params.new self
  opts   = args.pop
  params.prepare_forward( args, opts, &blk )
  params.forward!
end