Sha256: 73472c22eb0712f3f0acd4a28b5d77a54281f6cb70f267fc7afe0f7ba13a7937

Contents?: true

Size: 925 Bytes

Versions: 2

Compression:

Stored size: 925 Bytes

Contents

require 'pact_broker/repositories'

module PactBroker

  module Services
    module TagService

      extend self

      extend PactBroker::Repositories

      def create args
        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)
        tag_repository.create version: version, name: args.fetch(: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

    end
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pact_broker-1.15.0 lib/pact_broker/services/tag_service.rb
pact_broker-1.14.0 lib/pact_broker/services/tag_service.rb