Module: Muack::Proxy
Instance Method Summary collapse
- #__mock_block_call(defi, actual_args, actual_block) ⇒ Object
- #__mock_inject_mock_method(target, defi) ⇒ Object
Instance Method Details
#__mock_block_call(defi, actual_args, actual_block) ⇒ Object
7 8 9 10 |
# File 'lib/muack/proxy.rb', line 7 def __mock_block_call defi, actual_args, actual_block # handle block call in injected method, since we need to call origin defi # but we still want to know which defi gets dispatched! end |
#__mock_inject_mock_method(target, defi) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/muack/proxy.rb', line 12 def __mock_inject_mock_method target, defi mock = self # remember the context target.__send__(:define_method, defi.msg){|*actual_args, &actual_block| d = mock.__mock_dispatch(defi.msg, actual_args, actual_block) ret = if d.original_method __send__(d.original_method, *actual_args, &actual_block) else super(*actual_args, &actual_block) end if d.block d.block.call(ret) else ret end } end |