Sha256: 7d461c4342afee0d973ad84078db6e07311842cc9828c326c372d5c07d3a88b5

Contents?: true

Size: 1.01 KB

Versions: 39

Compression:

Stored size: 1.01 KB

Contents

require "pact_broker/domain/label"
require "pact_broker/repositories/helpers"

module PactBroker
  module Labels
    class Repository

      include PactBroker::Repositories::Helpers

      def create args
        Domain::Label.new(name: args.fetch(:name), pacticipant: args.fetch(:pacticipant)).save
      end

      def find args
        PactBroker::Domain::Label
          .select(Sequel.qualify("labels", "name"), Sequel.qualify("labels", "pacticipant_id"), Sequel.qualify("labels", "created_at"), Sequel.qualify("labels", "updated_at"))
          .join(:pacticipants, {id: :pacticipant_id})
          .where(name_like(Sequel.qualify("labels", "name"), args.fetch(:label_name)))
          .where(name_like(Sequel.qualify("pacticipants", "name"), args.fetch(:pacticipant_name)))
          .single_record
      end

      def delete args
        find(args).delete
      end

      def delete_by_pacticipant_id pacticipant_id
        Sequel::Model.db[:labels].where(pacticipant_id: pacticipant_id).delete
      end
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
pact_broker-2.107.1 lib/pact_broker/labels/repository.rb
pact_broker-2.107.0 lib/pact_broker/labels/repository.rb
pact_broker-2.107.0.beta.1 lib/pact_broker/labels/repository.rb
pact_broker-2.106.0 lib/pact_broker/labels/repository.rb
pact_broker-2.105.0 lib/pact_broker/labels/repository.rb
pact_broker-2.104.0 lib/pact_broker/labels/repository.rb
pact_broker-2.103.0 lib/pact_broker/labels/repository.rb
pact_broker-2.102.2 lib/pact_broker/labels/repository.rb
pact_broker-2.102.1 lib/pact_broker/labels/repository.rb
pact_broker-2.102.0 lib/pact_broker/labels/repository.rb
pact_broker-2.101.0 lib/pact_broker/labels/repository.rb
pact_broker-2.100.0 lib/pact_broker/labels/repository.rb
pact_broker-2.99.0 lib/pact_broker/labels/repository.rb
pact_broker-2.98.0 lib/pact_broker/labels/repository.rb
pact_broker-2.97.0 lib/pact_broker/labels/repository.rb
pact_broker-2.96.0 lib/pact_broker/labels/repository.rb
pact_broker-2.95.1 lib/pact_broker/labels/repository.rb
pact_broker-2.95.0 lib/pact_broker/labels/repository.rb
pact_broker-2.94.0 lib/pact_broker/labels/repository.rb
pact_broker-2.93.4 lib/pact_broker/labels/repository.rb