Sha256: 6b4bfd6fc6939e66928e421b3425cf5c7c8494085044224635096c5eabad11da

Contents?: true

Size: 1.09 KB

Versions: 5

Compression:

Stored size: 1.09 KB

Contents

require_relative "base_decorator"
require_relative "version_decorator"
require_relative "verification_decorator"
require "ostruct"

module PactBroker
  module Api
    module Decorators

      class VerificationSummaryDecorator < BaseDecorator

        property :success
        property :provider_summary, as: :providerSummary do
          property :successful
          property :failed
          property :unknown
        end

        collection :verifications, as: :verificationResults, embedded: true, :extend => PactBroker::Api::Decorators::VerificationDecorator

        link :self do | context |
          {
            href: context.fetch(:resource_url),
            title: "Latest verification results for consumer #{context.fetch(:consumer_name)} version #{context.fetch(:consumer_version_number)}"
          }
        end

        def provider_summary
          OpenStruct.new(
            successful: represented.select(&:success).collect(&:provider_name),
            failed: represented.select{|verification| !verification.success }.collect(&:provider_name))
        end

      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
pact_broker-2.84.0 lib/pact_broker/api/decorators/verification_summary_decorator.rb
pact_broker-2.83.0 lib/pact_broker/api/decorators/verification_summary_decorator.rb
pact_broker-2.82.0 lib/pact_broker/api/decorators/verification_summary_decorator.rb
pact_broker-2.81.0 lib/pact_broker/api/decorators/verification_summary_decorator.rb
pact_broker-2.80.0 lib/pact_broker/api/decorators/verification_summary_decorator.rb