class Forwarder::Params

Attributes

arguments[R]
forwardee[R]

Public Class Methods

new(forwardee) click to toggle source
# File lib/forwarder/params.rb, line 28
def initialize forwardee
  @forwardee = forwardee
end

Public Instance Methods

forward!() click to toggle source
# File lib/forwarder/params.rb, line 8
def forward!
  compiled = compile_forward
  if compiled
    forwardee.module_eval compiled, __FILE__, __LINE__
  else
    general_delegate
  end
end
prepare_forward(*args, &blk) click to toggle source
# File lib/forwarder/params.rb, line 17
def prepare_forward *args, &blk
  @arguments = Arguments.new( *args, &blk ) 
end

Private Instance Methods

compile_forward() click to toggle source
# File lib/forwarder/params.rb, line 23
def compile_forward
  compiler = Compiler.new arguments
  compiler.compile 
end
general_delegate() click to toggle source
# File lib/forwarder/params.rb, line 32
def general_delegate
  if arguments.chain?
    Meta.new( forwardee, arguments ).forward_chain
  elsif arguments.custom_target?
    Meta.new( forwardee, arguments ).forward_object
  else
    Meta.new( forwardee, arguments ).forward
  end
end