class PactBroker::Pacts::PactPublicationWipDatasetModule::VerificationForWipCalculations

Use a cut down model of the verifications table just for the WIP calculations. Don’t need all the associations and normal domain methods.

Public Instance Methods

join_branch_versions_excluding_branch(provider_id, branch_name) click to toggle source
# File lib/pact_broker/pacts/pact_publication_wip_dataset_module.rb, line 21
def join_branch_versions_excluding_branch(provider_id, branch_name)
  branch_versions_join = {
    Sequel[:verifications][:provider_version_id] => Sequel[:branch_versions][:version_id],
    Sequel[:branch_versions][:pacticipant_id] => provider_id
  }
  join(:branch_versions, branch_versions_join) do
    Sequel.lit("branch_versions.branch_name != ?", branch_name)
  end
end
join_provider_versions_for_provider_id_and_branch(provider_id, provider_version_branch) click to toggle source
# File lib/pact_broker/pacts/pact_publication_wip_dataset_module.rb, line 31
def join_provider_versions_for_provider_id_and_branch(provider_id, provider_version_branch)
  branch_versions_join = {
    Sequel[:verifications][:provider_version_id] => Sequel[:branch_versions][:version_id],
    Sequel[:branch_versions][:pacticipant_id] => provider_id,
    Sequel[:branch_versions][:branch_name] => provider_version_branch
  }

  join(:branch_versions, branch_versions_join)
end
successful_non_wip_by_provider(provider_id) click to toggle source
# File lib/pact_broker/pacts/pact_publication_wip_dataset_module.rb, line 9
def successful_non_wip_by_provider(provider_id)
  distinct.where(success: true, wip: false, provider_id: provider_id)
end
verified_before_creation_date_of(record) click to toggle source
# File lib/pact_broker/pacts/pact_publication_wip_dataset_module.rb, line 13
def verified_before_creation_date_of(record)
  if record
    verified_before_date(record.created_at)
  else
    self
  end
end
verified_before_date(date) click to toggle source
# File lib/pact_broker/pacts/pact_publication_wip_dataset_module.rb, line 41
def verified_before_date(date)
  where { Sequel[:verifications][:execution_date] < date }
end