Sha256: c5a6da2bf2d6728c8392ffeb5a49edfbc5397ab25ce7405bd89ae61c402f8024

Contents?: true

Size: 1.59 KB

Versions: 80

Compression:

Stored size: 1.59 KB

Contents

require_relative 'base_decorator'
require_relative 'pact_version_decorator'

module PactBroker
  module Api
    module Decorators
      class ProviderPactsDecorator < BaseDecorator

        link :self do | context |
          suffix = context[:tag] ? " with tag '#{context[:tag]}'" : ""
          {
            href: context[:resource_url],
            title: context[:title]
          }
        end

        link :'pb:provider' do | context |
          {
            href: pacticipant_url(context[:base_url], OpenStruct.new(name: context[:provider_name])),
            name: context[:provider_name]
          }
        end

        # TODO make the title and name consistent with title and name of other resources
        links :'pb:pacts' do | context |
          represented.collect do | pact |
            {
              :href => pact_url(context[:base_url], pact),
              :title => pact.name,
              :name => pact.consumer_name
            }
          end
        end

        link :provider do | context |
          {
            href: pacticipant_url(context[:base_url], OpenStruct.new(name: context[:provider_name])),
            title: context[:provider_name],
            name: "DEPRECATED - please use the pb:provider relation"
          }
        end

        links :'pacts' do | context |
          represented.collect do | pact |
            {
              :href => pact_url(context[:base_url], pact),
              :title => "DEPRECATED - please use the pb:pacts relation. #{pact.name}",
              :name => pact.consumer_name
            }
          end
        end
      end
    end
  end
end

Version data entries

80 entries across 80 versions & 1 rubygems

Version Path
pact_broker-2.36.1 lib/pact_broker/api/decorators/provider_pacts_decorator.rb
pact_broker-2.36.0 lib/pact_broker/api/decorators/provider_pacts_decorator.rb
pact_broker-2.35.0 lib/pact_broker/api/decorators/provider_pacts_decorator.rb
pact_broker-2.34.0 lib/pact_broker/api/decorators/provider_pacts_decorator.rb
pact_broker-2.33.0 lib/pact_broker/api/decorators/provider_pacts_decorator.rb
pact_broker-2.32.0 lib/pact_broker/api/decorators/provider_pacts_decorator.rb
pact_broker-2.31.0 lib/pact_broker/api/decorators/provider_pacts_decorator.rb
pact_broker-2.30.0 lib/pact_broker/api/decorators/provider_pacts_decorator.rb
pact_broker-2.29.0 lib/pact_broker/api/decorators/provider_pacts_decorator.rb
pact_broker-2.27.6 lib/pact_broker/api/decorators/provider_pacts_decorator.rb
pact_broker-2.27.5 lib/pact_broker/api/decorators/provider_pacts_decorator.rb
pact_broker-2.27.4 lib/pact_broker/api/decorators/provider_pacts_decorator.rb
pact_broker-2.27.3 lib/pact_broker/api/decorators/provider_pacts_decorator.rb
pact_broker-2.27.2 lib/pact_broker/api/decorators/provider_pacts_decorator.rb
pact_broker-2.27.0 lib/pact_broker/api/decorators/provider_pacts_decorator.rb
pact_broker-2.26.1 lib/pact_broker/api/decorators/provider_pacts_decorator.rb
pact_broker-2.26.0 lib/pact_broker/api/decorators/provider_pacts_decorator.rb
pact_broker-2.25.0 lib/pact_broker/api/decorators/provider_pacts_decorator.rb
pact_broker-2.24.0 lib/pact_broker/api/decorators/provider_pacts_decorator.rb
pact_broker-2.23.4 lib/pact_broker/api/decorators/provider_pacts_decorator.rb