Module: PactBroker::Tags::Service

Extended by:
Repositories, Services, Service
Includes:
Logging
Included in:
Service
Defined in:
lib/pact_broker/tags/service.rb

Constant Summary

Constants included from Services

Services::FACTORIES

Instance 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

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

Methods included from Logging

included, #log_error, #log_with_tag

Instance Method Details

#create(args) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/pact_broker/tags/service.rb', line 13

def create args
  tag_name = args.fetch(:tag_name)
  pacticipant = pacticipant_repository.find_by_name_or_create args.fetch(:pacticipant_name)
  version = version_repository.find_by_pacticipant_id_and_number_or_create pacticipant.id, args.fetch(:pacticipant_version_number)
  version_service.maybe_set_version_branch_from_tag(version, tag_name)
  pacticipant_service.maybe_set_main_branch(version.pacticipant, tag_name)
  tag_repository.create(version: version, name: tag_name)
end

#delete(args) ⇒ Object



26
27
28
29
30
# File 'lib/pact_broker/tags/service.rb', line 26

def delete args
  version = version_repository.find_by_pacticipant_name_and_number args.fetch(:pacticipant_name), args.fetch(:pacticipant_version_number)
  connection = PactBroker::Domain::Tag.new.db
  connection.run("delete from tags where name = '#{args.fetch(:tag_name)}' and version_id = '#{version.id}'")
end

#find(args) ⇒ Object



22
23
24
# File 'lib/pact_broker/tags/service.rb', line 22

def find args
  tag_repository.find args
end

#find_all_tag_names_for_pacticipant(pacticipant_name) ⇒ Object



32
33
34
# File 'lib/pact_broker/tags/service.rb', line 32

def find_all_tag_names_for_pacticipant pacticipant_name
  tag_repository.find_all_tag_names_for_pacticipant pacticipant_name
end