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 Repositories
Repositories::REPOSITORY_FACTORIES
Constants included from Services
Instance Method Summary collapse
- #create(args) ⇒ Object
- #delete(args) ⇒ Object
- #find(args) ⇒ Object
- #find_all_tag_names_for_pacticipant(pacticipant_name) ⇒ Object
Methods included from Repositories
branch_repository, branch_version_repository, get_repository, integration_repository, label_repository, matrix_repository, pact_repository, pacticipant_repository, register_default_repositories, register_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_service, 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, #measure_info
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 |