Class: Spec::Mocks::Mock
- Includes:
- Methods
- Defined in:
- lib/spec/mocks/mock.rb
Instance Method Summary collapse
-
#initialize(name, options = {}) ⇒ Mock
constructor
Creates a new mock with a
name
(that will be used in error messages only) == Options: *:null_object
- if true, the mock object acts as a forgiving null object allowing any message to be sent to it. - #inspect ⇒ Object
- #method_missing(sym, *args, &block) ⇒ Object
Methods included from Methods
#received_message?, #rspec_reset, #rspec_verify, #should_not_receive, #should_receive, #stub!
Constructor Details
#initialize(name, options = {}) ⇒ Mock
Creates a new mock with a name
(that will be used in error messages only)
Options:
-
:null_object
- if true, the mock object acts as a forgiving null object allowing any message to be sent to it.
9 10 11 12 |
# File 'lib/spec/mocks/mock.rb', line 9 def initialize(name, ={}) @name = name @options = end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(sym, *args, &block) ⇒ Object
14 15 16 17 18 19 20 21 22 |
# File 'lib/spec/mocks/mock.rb', line 14 def method_missing(sym, *args, &block) __mock_proxy.instance_eval {@messages_received << [sym, args, block]} begin return self if __mock_proxy.null_object? super(sym, *args, &block) rescue NoMethodError __mock_proxy. sym, *args end end |
Instance Method Details
#inspect ⇒ Object
24 25 26 |
# File 'lib/spec/mocks/mock.rb', line 24 def inspect "#<#{self.class}:#{sprintf '0x%x', self.object_id} @name=#{@name.inspect}>" end |