Module: Surrounded::Context::Forwarding

Defined in:
lib/surrounded/context/forwarding.rb

Instance Method Summary collapse

Instance Method Details

#forward_trigger(receiver, message, alternate = message) ⇒ Object Also known as: forward

Raises:

  • (ArgumentError)


4
5
6
7
8
9
# File 'lib/surrounded/context/forwarding.rb', line 4

def forward_trigger(receiver, message, alternate=message)
  raise(ArgumentError, %{you may not forward '%{m}`} % {m: message}) if ['__id__','__send__'].include?(message.to_s)
  trigger alternate do |*args, &block|
    self.send(receiver).public_send(message,*args, &block)
  end
end

#forward_triggers(receiver, *messages) ⇒ Object Also known as: forwards



11
12
13
14
15
# File 'lib/surrounded/context/forwarding.rb', line 11

def forward_triggers(receiver, *messages)
  messages.each do |message|
    forward_trigger(receiver, message)
  end
end

#forwarding(hash) ⇒ Object



17
18
19
20
21
# File 'lib/surrounded/context/forwarding.rb', line 17

def forwarding(hash)
  hash.each { |messages, receiver|
    forward_triggers(receiver, *messages)
  }
end