class PactBroker::Domain::Tag
Public Instance Methods
Source
# File lib/pact_broker/domain/tag.rb, line 153 def <=> other name <=> other.name end
Source
# File lib/pact_broker/domain/tag.rb, line 109 def before_save super if version if version.order && self.version_order.nil? self.version_order = version.order end if self.pacticipant_id.nil? if version.pacticipant_id self.pacticipant_id = version.pacticipant_id elsif version&.pacticipant&.id self.pacticipant_id = version.pacticipant.id end end end if version_order.nil? || pacticipant_id.nil? raise PactBroker::Error.new("Need to set version_order and pacticipant_id for tags now") end end
rubocop: disable Metrics/CyclomaticComplexity
Calls superclass method
Source
# File lib/pact_broker/domain/tag.rb, line 32 def for(pacticipant_name, version_number, tag_name) where( version_id: PactBroker::Domain::Version.select(:id).where( number: version_number, pacticipant_id: PactBroker::Domain::Pacticipant.select(:id).where_name_like(:name, pacticipant_name) ), name: tag_name ).single_record end
Source
# File lib/pact_broker/domain/tag.rb, line 28 def join_pact_publications join(:pact_publications, { Sequel[:tags][:version_id] => Sequel[:pact_publications][:consumer_version_id] } ) end
Source
# File lib/pact_broker/domain/tag.rb, line 137 def latest_for_pact_publication?(pact_publication) tag_pp_join = { Sequel[:pact_publications][:consumer_version_id] => Sequel[:tags][:version_id], Sequel[:pact_publications][:consumer_id] => pact_publication.consumer_id, Sequel[:pact_publications][:provider_id] => pact_publication.provider_id, Sequel[:tags][:name] => name } own_version_order = self.version_order Tag.join(:pact_publications, tag_pp_join) do Sequel[:tags][:version_order] > own_version_order end .where(pacticipant_id: pact_publication.consumer_id) .limit(1) .empty? end
Source
# File lib/pact_broker/domain/tag.rb, line 131 def latest_for_pacticipant? head_tag == self end
rubocop: enable Metrics/CyclomaticComplexity
Also aliased as: latest?
Source
# File lib/pact_broker/domain/tag.rb, line 157 def pacticipant version.pacticipant end