class PactBroker::Pacts::SelectedPact
Attributes
pact[R]
selectors[R]
Public Class Methods
merge(selected_pacts)
click to toggle source
# File lib/pact_broker/pacts/selected_pact.rb, line 38 def self.merge(selected_pacts) latest_selected_pact = selected_pacts.sort_by(&:consumer_version_order).last selectors = selected_pacts.collect(&:selectors).reduce(&:+).sort SelectedPact.new(latest_selected_pact.pact, selectors) end
merge_by_consumer_version_number(selected_pacts)
click to toggle source
# File lib/pact_broker/pacts/selected_pact.rb, line 28 def self.merge_by_consumer_version_number(selected_pacts) selected_pacts .group_by{ |p| [p.consumer_name, p.consumer_version_number] } .values .collect do | selected_pacts_for_consumer_version_number | SelectedPact.merge(selected_pacts_for_consumer_version_number) end .sort end
merge_by_pact_version_sha(selected_pacts)
click to toggle source
# File lib/pact_broker/pacts/selected_pact.rb, line 18 def self.merge_by_pact_version_sha(selected_pacts) selected_pacts .group_by{ |p| [p.consumer_name, p.pact_version_sha] } .values .collect do | selected_pacts_for_pact_version_sha | SelectedPact.merge(selected_pacts_for_pact_version_sha) end .sort end
new(pact, selectors)
click to toggle source
@param pact [PactBroker::Domain::Pact] @param selectors [PactBroker::Pacts::Selectors<PactBroker::Pacts::Selector::ResolvedSelector>] the Selectors
object
containing the ResolvedSelector objects that caused the pact to be selected.
Calls superclass method
# File lib/pact_broker/pacts/selected_pact.rb, line 12 def initialize(pact, selectors) super(pact) @pact = pact @selectors = selectors end
Public Instance Methods
<=>(other)
click to toggle source
# File lib/pact_broker/pacts/selected_pact.rb, line 64 def <=> other pact <=> other.pact end
branches_of_selectors_for_latest_pacts()
click to toggle source
# File lib/pact_broker/pacts/selected_pact.rb, line 48 def branches_of_selectors_for_latest_pacts selectors.branches_of_selectors_for_latest_pacts end
consumer_version_order()
click to toggle source
# File lib/pact_broker/pacts/selected_pact.rb, line 60 def consumer_version_order pact.consumer_version.order end
latest_for_tag?(potential_tag = nil)
click to toggle source
# File lib/pact_broker/pacts/selected_pact.rb, line 56 def latest_for_tag? potential_tag = nil selectors.latest_for_tag?(potential_tag) end
overall_latest?()
click to toggle source
# File lib/pact_broker/pacts/selected_pact.rb, line 52 def overall_latest? selectors.overall_latest? end
tag_names_of_selectors_for_latest_pacts()
click to toggle source
# File lib/pact_broker/pacts/selected_pact.rb, line 44 def tag_names_of_selectors_for_latest_pacts selectors.tag_names_of_selectors_for_latest_pacts end