Module: Surrounded::Context::Forwarding
- Defined in:
- lib/surrounded/context/forwarding.rb
Instance Method Summary collapse
- #forward_trigger(receiver, message, alternate = message) ⇒ Object (also: #forward)
- #forward_triggers(receiver, *messages) ⇒ Object (also: #forwards)
- #forwarding(hash) ⇒ Object
Instance Method Details
#forward_trigger(receiver, message, alternate = message) ⇒ Object Also known as: forward
4 5 6 7 8 9 |
# File 'lib/surrounded/context/forwarding.rb', line 4 def forward_trigger(receiver, , alternate = ) raise(ArgumentError, %(you may not forward '%{m}`) % {m: }) if ["__id__", "__send__"].include?(.to_s) trigger alternate do |*args, **kwargs, &block| send(receiver).public_send(, *args, **kwargs, &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, *) .each do || forward_trigger(receiver, ) end end |
#forwarding(hash) ⇒ Object
17 18 19 20 21 |
# File 'lib/surrounded/context/forwarding.rb', line 17 def forwarding(hash) hash.each { |, receiver| forward_triggers(receiver, *) } end |