Class: PactBroker::Versions::BranchService

Inherits:
Object
  • Object
show all
Extended by:
Repositories
Defined in:
lib/pact_broker/versions/branch_service.rb

Class Method Summary collapse

Methods included from Repositories

branch_version_repository, integration_repository, label_repository, matrix_repository, pact_repository, pacticipant_repository, tag_repository, verification_repository, version_repository, webhook_repository

Class Method Details

.find_branch_version(pacticipant_name:, branch_name:, version_number:) ⇒ Object



10
11
12
13
14
15
# File 'lib/pact_broker/versions/branch_service.rb', line 10

def self.find_branch_version(pacticipant_name:, branch_name:, version_number:, **)
  BranchVersion.where(
    version: PactBroker::Domain::Version.where_pacticipant_name_and_version_number(pacticipant_name, version_number),
    branch: Branch.where(name: branch_name)
  ).single_record
end

.find_or_create_branch_version(pacticipant_name:, branch_name:, version_number:) ⇒ Object



17
18
19
20
21
# File 'lib/pact_broker/versions/branch_service.rb', line 17

def self.find_or_create_branch_version(pacticipant_name:, branch_name:, version_number:, **)
  pacticipant = pacticipant_repository.find_by_name_or_create(pacticipant_name)
  version = version_repository.find_by_pacticipant_id_and_number_or_create(pacticipant.id, version_number)
  branch_version_repository.add_branch(version, branch_name)
end