Sha256: ec04d3773635d93d2242f2522bee608e2e332cf087d2432b64ab9648284011e4
Contents?: true
Size: 1.09 KB
Versions: 1
Compression:
Stored size: 1.09 KB
Contents
require_relative 'base_decorator' require_relative 'version_decorator' require_relative 'latest_pact_decorator' require_relative 'representable_pact' module PactBroker module Api module Decorators class PactCollectionDecorator < BaseDecorator include Roar::Representer::JSON::HAL include PactBroker::Api::PactBrokerUrls collection :pacts, exec_context: :decorator, :class => PactBroker::Domain::Pact, :extend => PactBroker::Api::Decorators::LatestPactDecorator def pacts represented.collect{ | pact | create_representable_pact(pact) } end def create_representable_pact pact PactBroker::Api::Decorators::RepresentablePact.new(pact) end link :self do | options | latest_pacts_url(options[:base_url]) end # This is the LATEST pact URL links :pacts do | options | represented.collect{ | pact | {:href => latest_pact_url(options[:base_url], pact), :title => "Latest pact between #{pact.consumer.name} and #{pact.provider.name}" } } end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pact_broker-1.3.2.rc1 | lib/pact_broker/api/decorators/pact_collection_decorator.rb |