Module: Forwarder

Defined in:
lib/forwarder.rb,
lib/forwarder/meta.rb

Defined Under Namespace

Modules: Meta

Instance Method Summary (collapse)

Instance Method Details

- (Object) forward(message, opts = {}, &blk)

delegates (forwards) a message to an object (indicated by :to)



7
8
9
10
11
# File 'lib/forwarder.rb', line 7

def forward message, opts={}, &blk
  opts = parse_opts opts, blk
#    p opts: opts
  forward_without_parsing message, opts
end

- (Object) forward_all(*messages, &blk)

Raises:

  • (ArgumentError)


13
14
15
16
17
18
19
20
# File 'lib/forwarder.rb', line 13

def forward_all *messages, &blk
  opts = messages.pop
  raise ArgumentError, "need a Hash as last arg" unless Hash === opts
  opts = parse_opts opts, blk
  messages.each do | msg |
    forward_without_parsing msg, opts
  end
end

- (Object) forward_to_self(message, opts = {})



22
23
24
# File 'lib/forwarder.rb', line 22

def forward_to_self message, opts={}
  forwarding_with message, opts.merge( to: lambda{ |*args| self } )
end