Sha256: 717e8b19b67877134a307e0f07b02807c1bd842494b9adb7b023ae4e1c60f844
Contents?: true
Size: 1.42 KB
Versions: 8
Compression:
Stored size: 1.42 KB
Contents
require_relative 'base_decorator' require 'pact_broker/api/pact_broker_urls' require 'pact_broker/pacts/build_verifiable_pact_notices' module PactBroker module Api module Decorators class VerifiablePactDecorator < BaseDecorator property :shortDescription, getter: -> (context) { PactBroker::Pacts::VerifiablePactMessages.new(context[:represented], nil).pact_version_short_description } nested :verificationProperties do include PactBroker::Api::PactBrokerUrls property :pending, if: ->(context) { context[:options][:user_options][:include_pending_status] } property :wip, if: -> (context) { context[:represented].wip } property :notices, getter: -> (context) { context[:decorator].notices(context[:options][:user_options]) } def notices(user_options) metadata = represented.wip ? { wip: true } : nil pact_url = pact_version_url_with_metadata(represented, metadata, user_options[:base_url]) PactBroker::Pacts::BuildVerifiablePactNotices.call(represented, pact_url, user_options) end end link :self do | user_options | metadata = represented.wip ? { wip: true } : nil { href: pact_version_url_with_metadata(represented, metadata, user_options[:base_url]), name: represented.name } end end end end end
Version data entries
8 entries across 8 versions & 1 rubygems