class RSpec::Contracts::Message
Attributes
arguments[RW]
name[R]
response[RW]
Public Class Methods
new(name, arguments = nil)
click to toggle source
# File lib/rspec/contracts/message.rb, line 9 def initialize(name, arguments = nil) @name = name @arguments = arguments @response = UnspecifiedResponse.new end
Public Instance Methods
arguments_described_by?(message)
click to toggle source
# File lib/rspec/contracts/message.rb, line 23 def arguments_described_by?(message) arguments.nil? || arguments == message.arguments end
described_by?(message)
click to toggle source
# File lib/rspec/contracts/message.rb, line 15 def described_by?(message) [:name, :arguments, :response].all? { |n| send "#{n}_described_by?", message } end
name_described_by?(message)
click to toggle source
# File lib/rspec/contracts/message.rb, line 19 def name_described_by?(message) message.name == name end
response_described_by?(message)
click to toggle source
# File lib/rspec/contracts/message.rb, line 27 def response_described_by?(message) response.described_by? message.response end
to_hash()
click to toggle source
# File lib/rspec/contracts/message.rb, line 35 def to_hash { :name => name, :arguments => arguments, :response => response.to_hash, } end
without_response()
click to toggle source
# File lib/rspec/contracts/message.rb, line 31 def without_response self.class.new name, arguments end