Sha256: e0fd118655bf6bb4367cde056fa409cf84dd17bf3451b6236dcd9e63a27e309b
Contents?: true
Size: 1.49 KB
Versions: 3
Compression:
Stored size: 1.49 KB
Contents
require 'sequel' require 'pact_broker/domain/version' require 'pact_broker/tags/repository' module PactBroker module Versions class Repository include PactBroker::Repositories::Helpers def find_by_pacticipant_id_and_number pacticipant_id, number PactBroker::Domain::Version.where(number: number, pacticipant_id: pacticipant_id).single_record end def find_by_pacticipant_name_and_number pacticipant_name, number PactBroker::Domain::Version .select(Sequel[:versions][:id], Sequel[:versions][:number], Sequel[:versions][:pacticipant_id], Sequel[:versions][:order], Sequel[:versions][:created_at], Sequel[:versions][:updated_at]) .join(:pacticipants, {id: :pacticipant_id}) .where(name_like(:number, number)) .where(name_like(:name, pacticipant_name)) .single_record end def create args PactBroker.logger.info "Creating version #{args[:number]} for pacticipant_id=#{args[:pacticipant_id]}" version = PactBroker::Domain::Version.new(number: args[:number], pacticipant_id: args[:pacticipant_id]).save PactBroker::Domain::Version.find(id: version.id) # Need to reload with populated order end def find_by_pacticipant_id_and_number_or_create pacticipant_id, number if version = find_by_pacticipant_id_and_number(pacticipant_id, number) version else create(pacticipant_id: pacticipant_id, number: number) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pact_broker-2.0.0 | lib/pact_broker/versions/repository.rb |
pact_broker-2.0.0.beta.8 | lib/pact_broker/versions/repository.rb |
pact_broker-2.0.0.beta.7 | lib/pact_broker/versions/repository.rb |