Class: PactBroker::Tags::Repository
- Inherits:
-
Object
- Object
- PactBroker::Tags::Repository
- Defined in:
- lib/pact_broker/tags/repository.rb
Instance Method Summary collapse
- #create(args) ⇒ Object
- #delete_by_version_id(version_id) ⇒ Object
- #find(args) ⇒ Object
- #find_all_tag_names_for_pacticipant(pacticipant_name) ⇒ Object
Instance Method Details
#create(args) ⇒ Object
6 7 8 9 10 11 12 13 14 |
# File 'lib/pact_broker/tags/repository.rb', line 6 def create args params = { name: args.fetch(:name), version_id: args.fetch(:version).id, version_order: args.fetch(:version).order, pacticipant_id: args.fetch(:version).pacticipant_id } Domain::Tag.new(params).insert_ignore end |
#delete_by_version_id(version_id) ⇒ Object
27 28 29 |
# File 'lib/pact_broker/tags/repository.rb', line 27 def delete_by_version_id version_id Domain::Tag.where(version_id: version_id).delete end |
#find(args) ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/pact_broker/tags/repository.rb', line 16 def find args PactBroker::Domain::Tag .select_all_qualified .join(:versions, { id: :version_id }) .join(:pacticipants, {Sequel.qualify("pacticipants", "id") => Sequel.qualify("versions", "pacticipant_id")}) .where(Sequel.name_like(Sequel.qualify("tags", "name"), args.fetch(:tag_name))) .where(Sequel.name_like(Sequel.qualify("versions", "number"), args.fetch(:pacticipant_version_number))) .where(Sequel.name_like(Sequel.qualify("pacticipants", "name"), args.fetch(:pacticipant_name))) .single_record end |
#find_all_tag_names_for_pacticipant(pacticipant_name) ⇒ Object
31 32 33 34 35 36 37 38 39 |
# File 'lib/pact_broker/tags/repository.rb', line 31 def find_all_tag_names_for_pacticipant pacticipant_name PactBroker::Domain::Tag .select(Sequel[:tags][:name]) .join(:versions, { Sequel[:versions][:id] => Sequel[:tags][:version_id] }) .join(:pacticipants, { Sequel[:pacticipants][:id] => Sequel[:versions][:pacticipant_id] }) .where(Sequel[:pacticipants][:name] => pacticipant_name) .distinct .collect{ |tag| tag[:name] }.sort end |