Module: RSpec::Mocks::VerifyingDouble Private
Do not use. This module is for internal use only.
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Included In:
| |
Defined in: | rspec-mocks/lib/rspec/mocks/verifying_double.rb |
Instance Method Summary
- #__send__(name, *args, &block) Internal use only
- #initialize(doubled_module, *args) Internal use only
- #method_missing(message, *args, &block) Internal use only
- #respond_to?(message, include_private = false) ⇒ Boolean Internal use only
- #send(name, *args, &block) Internal use only
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(message, *args, &block)
[ GitHub ]# File 'rspec-mocks/lib/rspec/mocks/verifying_double.rb', line 20
def method_missing(, *args, &block) # Null object conditional is an optimization. If not a null object, # validity of method expectations will have been checked at definition # time. if null_object? if @__sending_message == __mock_proxy.ensure_implemented( ) else __mock_proxy.ensure_publicly_implemented(, self) end __mock_proxy.validate_arguments!(, args) end super end
Instance Method Details
#__send__(name, *args, &block)
[ GitHub ]# File 'rspec-mocks/lib/rspec/mocks/verifying_double.rb', line 39
def __send__(name, *args, &block) @__sending_message = name super ensure @__sending_message = nil end
#initialize(doubled_module, *args)
[ GitHub ]# File 'rspec-mocks/lib/rspec/mocks/verifying_double.rb', line 53
def initialize(doubled_module, *args) @doubled_module = doubled_module possible_name = args.first name = if String === possible_name || Symbol === possible_name args.shift end super(name, *args) @__sending_message = nil end
#respond_to?(message, include_private = false) ⇒ Boolean
# File 'rspec-mocks/lib/rspec/mocks/verifying_double.rb', line 7
def respond_to?(, include_private=false) return super unless null_object? method_ref = __mock_proxy.method_reference[ ] case method_ref.visibility when :public then true when :private then include_private when :protected then include_private || RUBY_VERSION.to_f < 2.0 else !method_ref.unimplemented? end end
#send(name, *args, &block)
[ GitHub ]# File 'rspec-mocks/lib/rspec/mocks/verifying_double.rb', line 48
def send(name, *args, &block) __send__(name, *args, &block) end