lib/pact_broker/pacts/selector.rb in pact_broker-2.51.0 vs lib/pact_broker/pacts/selector.rb in pact_broker-2.52.0

- old
+ new

@@ -23,10 +23,18 @@ def fallback_tag self[:fallback_tag] end + def consumer= consumer + self[:consumer] = consumer + end + + def consumer + self[:consumer] + end + def self.overall_latest Selector.new(latest: true) end def self.latest_for_tag(tag) @@ -39,10 +47,13 @@ def self.all_for_tag(tag) Selector.new(tag: tag) end + def self.all_for_tag_and_consumer(tag, consumer) + Selector.new(tag: tag, consumer: consumer) + end def self.from_hash hash Selector.new(hash) end @@ -65,10 +76,14 @@ else !!(latest && !!tag) end end + def all_for_tag_and_consumer? + !!(tag && !latest? && consumer) + end + def all_for_tag? !!(tag && !latest?) end def <=> other @@ -81,9 +96,15 @@ elsif latest_for_tag? || other.latest_for_tag? if latest_for_tag? == other.latest_for_tag? tag <=> other.tag else latest_for_tag? ? -1 : 1 + end + elsif consumer || other.consumer + if consumer == other.consumer + tag <=> other.tag + else + consumer ? -1 : 1 end else tag <=> other.tag end end