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