class PactBroker::Pacts::PactVersion
Public Instance Methods
Source
# File lib/pact_broker/pacts/pact_version.rb, line 180 def any_successful_verifications_from_another_branch_from_before_this_branch_created?(branch_name) branch = PactBroker::Versions::Branch.where(pacticipant_id: provider_id, name: branch_name).single_record verifications_join = { Sequel[:verifications][:pact_version_id] => Sequel[:pact_versions][:id], Sequel[:verifications][:success] => true } query = PactVersion.where(Sequel[:pact_versions][:id] => id) .join(:verifications, verifications_join) .join(:branch_versions, Sequel[:branch_versions][:version_id] => Sequel[:verifications][:provider_version_id]) do Sequel.lit("branch_versions.branch_name != ?", branch_name) end if branch query = query.where { Sequel[:verifications][:created_at] < branch.created_at } end query.any? end
Source
# File lib/pact_broker/pacts/pact_version.rb, line 173 def any_successful_verifications_from_provider_branch?(branch_name) PactVersion.where(Sequel[:pact_versions][:id] => id) .join_successful_verifications .join_branch_versions_for_branch_name_to_verifications(branch_name) .any? end
Source
# File lib/pact_broker/pacts/pact_version.rb, line 101 def consumer_name consumer.name end
Source
# File lib/pact_broker/pacts/pact_version.rb, line 56 def for_pact_domain(pact_domain) where( sha: pact_domain.pact_version_sha, consumer_id: pact_domain.consumer.id, provider_id: pact_domain.provider.id ).single_record end
Source
# File lib/pact_broker/pacts/pact_version.rb, line 84 def join_branch_versions_for_branch_name_to_verifications(branch_name) branch_versions_join = { Sequel[:branch_versions][:version_id] => Sequel[:verifications][:provider_version_id], Sequel[:branch_versions][:branch_name] => branch_name } join(:branch_versions, branch_versions_join) end
Source
# File lib/pact_broker/pacts/pact_version.rb, line 72 def join_provider_versions join(:versions, { Sequel[:provider_versions][:id] => Sequel[:verifications][:provider_version_id] }, { table_alias: :provider_versions }) end
Source
# File lib/pact_broker/pacts/pact_version.rb, line 64 def join_successful_verifications verifications_join = { Sequel[:verifications][:pact_version_id] => Sequel[:pact_versions][:id], Sequel[:verifications][:success] => true } join(:verifications, verifications_join) end
Source
# File lib/pact_broker/pacts/pact_version.rb, line 113 def latest_consumer_version_number latest_consumer_version.number end
Source
# File lib/pact_broker/pacts/pact_version.rb, line 105 def latest_pact_publication PactBroker::Pacts::PactPublication .for_pact_version_id(id) .remove_overridden_revisions_from_complete_query .latest || PactBroker::Pacts::PactPublication.for_pact_version_id(id).latest end
Source
# File lib/pact_broker/pacts/pact_version.rb, line 93 def name "Pact between #{consumer_name} and #{provider_name}" end
Source
# File lib/pact_broker/pacts/pact_version.rb, line 117 def pending_for_provider_branch?(branch_name) !any_successful_verifications_from_provider_branch?(branch_name) && !any_successful_verifications_from_another_branch_from_before_this_branch_created?(branch_name) end
Source
# File lib/pact_broker/pacts/pact_version.rb, line 97 def provider_name provider.name end
Source
# File lib/pact_broker/pacts/pact_version.rb, line 163 def set_interactions_and_messages_counts! if interactions_count.nil? || messages_count.nil? content_object = PactBroker::Pacts::Content.from_json(content) update( messages_count: content_object.messages&.count || 0, interactions_count: content_object.interactions&.count || 0 ) end end
Source
# File lib/pact_broker/pacts/pact_version.rb, line 157 def verified_successfully_by_any_provider_version? PactVersion.where(Sequel[:pact_versions][:id] => id) .join_successful_verifications .any? end