Module: PactBroker::Matrix
- Defined in:
- lib/pact_broker/matrix/row.rb,
lib/pact_broker/matrix/reason.rb,
lib/pact_broker/matrix/service.rb,
lib/pact_broker/matrix/head_row.rb,
lib/pact_broker/matrix/quick_row.rb,
lib/pact_broker/matrix/repository.rb,
lib/pact_broker/matrix/integration.rb,
lib/pact_broker/matrix/parse_query.rb,
lib/pact_broker/matrix/query_results.rb,
lib/pact_broker/matrix/aggregated_row.rb,
lib/pact_broker/matrix/resolved_selector.rb,
lib/pact_broker/matrix/parse_can_i_deploy_query.rb,
lib/pact_broker/matrix/deployment_status_summary.rb,
lib/pact_broker/matrix/query_results_with_deployment_status_summary.rb
Defined Under Namespace
Modules: Service Classes: AggregatedRow, DeploymentStatusSummary, Error, ErrorReason, ErrorReasonWithTwoSelectors, HeadRow, Integration, NoDependenciesMissing, PactNotEverVerifiedByProvider, PactNotVerifiedByRequiredProviderVersion, ParseCanIDeployQuery, ParseQuery, QueryResults, QueryResultsWithDeploymentStatusSummary, QuickRow, Reason, Repository, ResolvedSelector, Row, SpecifiedVersionDoesNotExist, Successful, VerificationFailed, VerificationFailedWithRow
Constant Summary collapse
- LV =
:latest_verification_id_for_pact_version_and_provider_version
- LP =
:latest_pact_publication_ids_for_consumer_versions
- CONSUMER_COLUMNS =
[Sequel[:lp][:consumer_id], Sequel[:consumers][:name].as(:consumer_name), Sequel[:lp][:pact_publication_id], Sequel[:lp][:pact_version_id]]
- PROVIDER_COLUMNS =
[Sequel[:lp][:provider_id], Sequel[:providers][:name].as(:provider_name), Sequel[:lv][:verification_id]]
- CONSUMER_VERSION_COLUMNS =
[Sequel[:lp][:consumer_version_id], Sequel[:cv][:number].as(:consumer_version_number), Sequel[:cv][:order].as(:consumer_version_order)]
- PROVIDER_VERSION_COLUMNS =
[Sequel[:lv][:provider_version_id], Sequel[:pv][:number].as(:provider_version_number), Sequel[:pv][:order].as(:provider_version_order)]
- ALL_COLUMNS =
CONSUMER_COLUMNS + CONSUMER_VERSION_COLUMNS + PROVIDER_COLUMNS + PROVIDER_VERSION_COLUMNS
- LP_LV_JOIN =
{ Sequel[:lp][:pact_version_id] => Sequel[:lv][:pact_version_id] }
- CONSUMER_JOIN =
{ Sequel[:lp][:consumer_id] => Sequel[:consumers][:id] }
- PROVIDER_JOIN =
{ Sequel[:lp][:provider_id] => Sequel[:providers][:id] }
- CONSUMER_VERSION_JOIN =
{ Sequel[:lp][:consumer_version_id] => Sequel[:cv][:id] }
- PROVIDER_VERSION_JOIN =
{ Sequel[:lv][:provider_version_id] => Sequel[:pv][:id] }
- RAW_QUERY =
Sequel::Model.db[Sequel.as(LP, :lp)] .select(*ALL_COLUMNS) .left_outer_join(LV, LP_LV_JOIN, { table_alias: :lv } ) .join(:pacticipants, CONSUMER_JOIN, { table_alias: :consumers }) .join(:pacticipants, PROVIDER_JOIN, { table_alias: :providers }) .join(:versions, CONSUMER_VERSION_JOIN, { table_alias: :cv }) .left_outer_join(:versions, PROVIDER_VERSION_JOIN, { table_alias: :pv } )
- ALIASED_QUERY =
Sequel.as(RAW_QUERY, :smart_rows)