class Bogus::ContractNotFulfilled

Attributes

actual_interactions[R]
fake_name[R]
missed_interactions[R]

Public Class Methods

new(fake_name, opts = {}) click to toggle source
Calls superclass method
# File lib/bogus/contracts/contract_not_fulfilled.rb, line 5
def initialize(fake_name, opts = {})
  @fake_name = fake_name
  @actual_interactions = opts.fetch(:actual)
  @missed_interactions = opts.fetch(:missed)
  super(message)
end

Public Instance Methods

message() click to toggle source
# File lib/bogus/contracts/contract_not_fulfilled.rb, line 12
def message
  str = <<-EOF
  Contract not fullfilled for #{fake_name}!

  Missed interactions:
  #{interactions_str(missed_interactions)}

  Actual interactions:
  #{interactions_str(actual_interactions)}
  EOF
  str.gsub(' ' * 6, '')
end

Private Instance Methods

interactions_str(interactions) click to toggle source
# File lib/bogus/contracts/contract_not_fulfilled.rb, line 27
def interactions_str(interactions)
  interactions.map { |i| "  - #{InteractionPresenter.new(i)}" }.join("\n")
end