Class: RSpec::Contracts::MessageView

Inherits:
Object
  • Object
show all
Defined in:
lib/rspec/contracts/message_view.rb

Instance Method Summary collapse

Constructor Details

#initialize(interface_name, message) ⇒ MessageView

Returns a new instance of MessageView.



4
5
6
7
# File 'lib/rspec/contracts/message_view.rb', line 4

def initialize(interface_name, message)
  @interface_name = interface_name
  @message = message
end

Instance Method Details

#renderObject



9
10
11
12
13
14
# File 'lib/rspec/contracts/message_view.rb', line 9

def render
  arg_string = @message.arguments ? "()" : ""
  return_string = @message.response.respond_to?(:returned_value) ? "and return #{@message.response.returned_value.inspect}" : ""
  yield_string = @message.response.respond_to?(:yielded_value) ? "and return #{@message.response.yielded_value.inspect}" : ""
  "Interface '#{@interface_name}' must respond to '#{@message.name}#{arg_string}' #{return_string} #{yield_string}"
end