Sha256: 489bd41b0f364f073b9546e49cd8fbb2dbb067d1321f3ed9513facaedff1cd23

Contents?: true

Size: 1.35 KB

Versions: 43

Compression:

Stored size: 1.35 KB

Contents

require "pact_broker/repositories"
require "pact_broker/configuration"
require "pact_broker/logging"

module PactBroker
  module Tags
    module Service
      extend self
      extend PactBroker::Repositories
      extend PactBroker::Services
      include PactBroker::Logging

      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

      def find args
        tag_repository.find args
      end

      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

      def find_all_tag_names_for_pacticipant pacticipant_name
        tag_repository.find_all_tag_names_for_pacticipant pacticipant_name
      end
    end
  end
end

Version data entries

43 entries across 43 versions & 1 rubygems

Version Path
pact_broker-2.113.0 lib/pact_broker/tags/service.rb
pact_broker-2.112.0 lib/pact_broker/tags/service.rb
pact_broker-2.111.0 lib/pact_broker/tags/service.rb
pact_broker-2.109.1 lib/pact_broker/tags/service.rb
pact_broker-2.109.0 lib/pact_broker/tags/service.rb
pact_broker-2.108.0 lib/pact_broker/tags/service.rb
pact_broker-2.107.1 lib/pact_broker/tags/service.rb
pact_broker-2.107.0 lib/pact_broker/tags/service.rb
pact_broker-2.107.0.beta.1 lib/pact_broker/tags/service.rb
pact_broker-2.106.0 lib/pact_broker/tags/service.rb
pact_broker-2.105.0 lib/pact_broker/tags/service.rb
pact_broker-2.104.0 lib/pact_broker/tags/service.rb
pact_broker-2.103.0 lib/pact_broker/tags/service.rb
pact_broker-2.102.2 lib/pact_broker/tags/service.rb
pact_broker-2.102.1 lib/pact_broker/tags/service.rb
pact_broker-2.102.0 lib/pact_broker/tags/service.rb
pact_broker-2.101.0 lib/pact_broker/tags/service.rb
pact_broker-2.100.0 lib/pact_broker/tags/service.rb
pact_broker-2.99.0 lib/pact_broker/tags/service.rb
pact_broker-2.98.0 lib/pact_broker/tags/service.rb