Class: PactBroker::Repositories::TagRepository

Inherits:
Object
  • Object
show all
Includes:
Helpers
Defined in:
lib/pact_broker/repositories/tag_repository.rb

Instance Method Summary collapse

Methods included from Helpers

#case_sensitivity_options, #name_like

Instance Method Details

#create(args) ⇒ Object



11
12
13
# File 'lib/pact_broker/repositories/tag_repository.rb', line 11

def create args
  Domain::Tag.new(name: args.fetch(:name), version: args.fetch(:version)).save
end

#find(args) ⇒ Object



15
16
17
18
19
20
21
22
23
24
# File 'lib/pact_broker/repositories/tag_repository.rb', line 15

def find args
  PactBroker::Domain::Tag
    .select(:tags__name, :tags__version_id, :tags__created_at, :tags__updated_at)
    .join(:versions, {id: :version_id})
    .join(:pacticipants, {pacticipants__id: :versions__pacticipant_id})
    .where(name_like(:tags__name, args.fetch(:tag_name)))
    .where(name_like(:versions__number, args.fetch(:pacticipant_version_number)))
    .where(name_like(:pacticipants__name, args.fetch(:pacticipant_name)))
    .single_record
end