Sha256: ae2b16c220eb8394967fb6a967e47a6fce9b2ce486a1d3e69460f2994afe0a73
Contents?: true
Size: 1.06 KB
Versions: 2
Compression:
Stored size: 1.06 KB
Contents
require "delegate" module PactBroker module Pacts class SelectedPact < SimpleDelegator attr_reader :pact, :selectors def initialize(pact, selectors) super(pact) @pact = pact @selectors = selectors end def self.merge(selected_pacts) latest_selected_pact = selected_pacts.sort_by(&:consumer_version_order).last selectors = selected_pacts.collect(&:selectors).reduce(&:+) SelectedPact.new(latest_selected_pact.pact, selectors) end def tag_names_of_selectors_for_latest_pacts selectors.tag_names_of_selectors_for_latest_pacts end def branches_of_selectors_for_latest_pacts selectors.branches_of_selectors_for_latest_pacts end def overall_latest? selectors.overall_latest? end def latest_for_tag? potential_tag = nil selectors.latest_for_tag?(potential_tag) end def consumer_version_order pact.consumer_version.order end def <=> other pact <=> other.pact end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pact_broker-2.81.0 | lib/pact_broker/pacts/selected_pact.rb |
pact_broker-2.80.0 | lib/pact_broker/pacts/selected_pact.rb |