class RSpec::Mocks::SimpleMessageExpectation

A message expectation that only allows concrete return values to be set for a message. While this same effect can be achieved using a standard MessageExpectation, this version is much faster and so can be used as an optimization.

@private

Public Class Methods

new(message, response, error_generator, backtrace_line=nil) click to toggle source
# File lib/rspec/mocks/message_expectation.rb, line 10
def initialize(message, response, error_generator, backtrace_line=nil)
  @message, @response, @error_generator, @backtrace_line = message.to_sym, response, error_generator, backtrace_line
  @received = false
end

Public Instance Methods

called_max_times?() click to toggle source
# File lib/rspec/mocks/message_expectation.rb, line 24
def called_max_times?
  false
end
invoke(*_) click to toggle source
# File lib/rspec/mocks/message_expectation.rb, line 15
def invoke(*_)
  @received = true
  @response
end
matches?(message, *_) click to toggle source
# File lib/rspec/mocks/message_expectation.rb, line 20
def matches?(message, *_)
  @message == message.to_sym
end
unadvise(_) click to toggle source
# File lib/rspec/mocks/message_expectation.rb, line 35
def unadvise(_)
end
verify_messages_received() click to toggle source
# File lib/rspec/mocks/message_expectation.rb, line 28
def verify_messages_received
  return if @received
  @error_generator.raise_expectation_error(
    @message, 1, ArgumentListMatcher::MATCH_ALL, 0, nil, [], @backtrace_line
  )
end