Class: PactBroker::Versions::BranchVersionRepository

Inherits:
Object
  • Object
show all
Includes:
Services
Defined in:
lib/pact_broker/versions/branch_version_repository.rb

Constant Summary

Constants included from Services

Services::FACTORIES

Instance Method Summary collapse

Methods included from Services

#badge_service, #branch_service, #certificate_service, #contract_service, #deployed_version_service, #environment_service, #get, #group_service, #index_service, #integration_service, #label_service, #matrix_service, #metrics_service, #pact_service, #pacticipant_service, #register_default_services, #register_service, #released_version_service, #tag_service, #verification_service, #version_service, #webhook_service, #webhook_trigger_service

Instance Method Details

#add_branch(version, branch_name, auto_created: false) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/pact_broker/versions/branch_version_repository.rb', line 6

def add_branch(version, branch_name, auto_created: false)
  branch = find_or_create_branch(version.pacticipant, branch_name)
  branch_version = version.branch_version_for_branch(branch)
  if branch_version
    branch_version.update(updated_at: Sequel.datetime_class.now)
  else
    branch_version = PactBroker::Versions::BranchVersion.new(version: version, branch: branch, auto_created: auto_created).insert_ignore
    PactBroker::Versions::BranchHead.new(branch: branch, branch_version: branch_version).upsert
  end
  pacticipant_service.maybe_set_main_branch(version.pacticipant, branch_name)
  branch_version
end