Sha256: 68a3889a53b866ddd5c09fa7e9326ec75a29cb01c049987585efb0e2262af92c

Contents?: true

Size: 1.68 KB

Versions: 24

Compression:

Stored size: 1.68 KB

Contents

require "pact_broker/verifications/latest_verification_id_for_pact_version_and_provider_version"

module PactBroker
  module Pacts
    module PactVersionAssociationLoaders

      LATEST_MAIN_BRANCH_VERIFICATION = lambda {
        providers_join = {
          Sequel[:providers][:id] => Sequel[:latest_verification_id_for_pact_version_and_provider_version][:provider_id]
        }

        branch_versions_join = {
          Sequel[:latest_verification_id_for_pact_version_and_provider_version][:provider_version_id] => Sequel[:branch_versions][:version_id],
          Sequel[:providers][:main_branch] => Sequel[:branch_versions][:branch_name]
        }
        max_verification_id_for_pact_version =  PactBroker::Verifications::LatestVerificationIdForPactVersionAndProviderVersion
                                                  .join(:pacticipants, providers_join, { table_alias: :providers })
                                                  .join(:branch_versions, branch_versions_join)
                                                  .select(Sequel.function(:max, :verification_id))
                                                  .where(pact_version_id: id)
        PactBroker::Domain::Verification.where(id: max_verification_id_for_pact_version)
      }

      LATEST_VERIFICATION_DATASET = lambda {
        PactBroker::Domain::Verification
          .where(
            id: PactBroker::Verifications::LatestVerificationIdForPactVersionAndProviderVersion.select(
              Sequel.function(:max, :verification_id)
            ).where(pact_version_id: id)
          )
      }

      LATEST_CONSUMER_VERSION_LAZY_LOADER = lambda { | ds | ds.unlimited.order(Sequel.desc(:order)).limit(1) }
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
pact_broker-2.114.0 lib/pact_broker/pacts/pact_version_association_loaders.rb
pact_broker-2.113.2 lib/pact_broker/pacts/pact_version_association_loaders.rb
pact_broker-2.113.1 lib/pact_broker/pacts/pact_version_association_loaders.rb
pact_broker-2.113.0 lib/pact_broker/pacts/pact_version_association_loaders.rb
pact_broker-2.112.0 lib/pact_broker/pacts/pact_version_association_loaders.rb
pact_broker-2.111.0 lib/pact_broker/pacts/pact_version_association_loaders.rb
pact_broker-2.109.1 lib/pact_broker/pacts/pact_version_association_loaders.rb
pact_broker-2.109.0 lib/pact_broker/pacts/pact_version_association_loaders.rb
pact_broker-2.108.0 lib/pact_broker/pacts/pact_version_association_loaders.rb
pact_broker-2.107.1 lib/pact_broker/pacts/pact_version_association_loaders.rb
pact_broker-2.107.0 lib/pact_broker/pacts/pact_version_association_loaders.rb
pact_broker-2.107.0.beta.1 lib/pact_broker/pacts/pact_version_association_loaders.rb
pact_broker-2.106.0 lib/pact_broker/pacts/pact_version_association_loaders.rb
pact_broker-2.105.0 lib/pact_broker/pacts/pact_version_association_loaders.rb
pact_broker-2.104.0 lib/pact_broker/pacts/pact_version_association_loaders.rb
pact_broker-2.103.0 lib/pact_broker/pacts/pact_version_association_loaders.rb
pact_broker-2.102.2 lib/pact_broker/pacts/pact_version_association_loaders.rb
pact_broker-2.102.1 lib/pact_broker/pacts/pact_version_association_loaders.rb
pact_broker-2.102.0 lib/pact_broker/pacts/pact_version_association_loaders.rb
pact_broker-2.101.0 lib/pact_broker/pacts/pact_version_association_loaders.rb