Class: PactBroker::Repositories::TagRepository

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

Instance Method Summary collapse

Instance Method Details

#create(args) ⇒ Object



8
9
10
# File 'lib/pact_broker/repositories/tag_repository.rb', line 8

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

#find(args) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# File 'lib/pact_broker/repositories/tag_repository.rb', line 12

def find args
  PactBroker::Models::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(:tags__name => args.fetch(:tag_name))
    .where(:versions__number => args.fetch(:pacticipant_version_number))
    .where(:pacticipants__name => args.fetch(:pacticipant_name))
    .single_record
end