Sha256: f9c0a33fe62cc6723c8a0ccbe11e2ab2c1f84af9ea36253c5a7af58a932201d8
Contents?: true
Size: 1.33 KB
Versions: 8
Compression:
Stored size: 1.33 KB
Contents
require 'sequel' module PactBroker module Pacts class PactVersion < Sequel::Model(:pact_versions) one_to_many :pact_publications, reciprocal: :pact_version one_to_many :verifications, reciprocal: :verification, order: :id, :class => "PactBroker::Domain::Verification" def name "Pact between #{consumer_name} and #{provider_name}" end def provider_name pact_publications.last.provider.name end def consumer_name pact_publications.last.consumer.name end def latest_consumer_version consumer_versions.last end def latest_pact_publication PactBroker::Pacts::LatestPactPublicationsByConsumerVersion .where(pact_version_id: id) .order(:consumer_version_order) .last || PactBroker::Pacts::AllPactPublications .where(pact_version_id: id) .order(:consumer_version_order) .last end def latest_verification verifications.last end def consumer_versions PactBroker::Domain::Version.where(id: PactBroker::Pacts::PactPublication.select(:consumer_version_id).where(pact_version_id: id)).order(:order) end def latest_consumer_version_number latest_consumer_version.number end end PactVersion.plugin :timestamps end end
Version data entries
8 entries across 8 versions & 1 rubygems