Method: FlexMock#method_missing
- Defined in:
- lib/flexmock/core.rb
#method_missing(sym, *args, **kw, &block) ⇒ Object
Handle missing methods by attempting to look up a handler.
140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 |
# File 'lib/flexmock/core.rb', line 140 def method_missing(sym, *args, **kw, &block) FlexMock.verify_mocking_allowed! call_record = CallRecord.new(sym, args, kw, block) @calls << call_record flexmock_wrap do if flexmock_closed? FlexMock.undefined elsif exp = flexmock_expectations_for(sym) exp.call(args, kw, block, call_record) elsif @base_class && @base_class.flexmock_defined?(sym) FlexMock.undefined elsif @ignore_missing FlexMock.undefined else super(sym, *args, **kw, &block) end end end |