class RSpec::Contracts::FulfillmentView

Public Class Methods

new(fulfillment) click to toggle source
# File lib/rspec/contracts/fulfillment_view.rb, line 6
def initialize(fulfillment)
  @fulfillment = fulfillment
end

Public Instance Methods

contracts_count() click to toggle source
# File lib/rspec/contracts/fulfillment_view.rb, line 28
def contracts_count
  pluralize @fulfillment.messages_count, "contract"
end
pluralize(number, noun) click to toggle source
# File lib/rspec/contracts/fulfillment_view.rb, line 32
def pluralize(number, noun)
  suffix = (number == 1) ? "" : "s"
  "#{number} #{noun}#{suffix}"
end
render() click to toggle source
# File lib/rspec/contracts/fulfillment_view.rb, line 10
def render
  ([summary] + unfulfilled_views).join "\n"
end
summary() click to toggle source
# File lib/rspec/contracts/fulfillment_view.rb, line 14
def summary
  unverified = unfulfilled_views.count
  verified = @fulfillment.messages_count - unverified
  "#{contracts_count}, #{verified} verified, #{unverified} unverified"
end
unfulfilled_views() click to toggle source
# File lib/rspec/contracts/fulfillment_view.rb, line 20
def unfulfilled_views
  @fulfillment.incomplete_interfaces.map do |fulfillment|
    fulfillment.unfulfilled_messages.map do |message|
      RSpec::Contracts::MessageView.new(fulfillment.interface.name, message).render
    end
  end.flatten
end