Sha256: 703c65aa571483affd0d5fd02fc297d3af5d7e0f2a28d2510e8c22027f408ef2

Contents?: true

Size: 1006 Bytes

Versions: 32

Compression:

Stored size: 1006 Bytes

Contents

require 'sequel'

module PactBroker
  module Pacts
    class PactVersion < Sequel::Model(:pact_versions)
      one_to_many :pact_publications, :reciprocal => :pact_version

      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
      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

32 entries across 32 versions & 1 rubygems

Version Path
pact_broker-2.13.1 lib/pact_broker/pacts/pact_version.rb
pact_broker-2.13.0 lib/pact_broker/pacts/pact_version.rb
pact_broker-2.12.0 lib/pact_broker/pacts/pact_version.rb
pact_broker-2.11.0 lib/pact_broker/pacts/pact_version.rb
pact_broker-2.10.0 lib/pact_broker/pacts/pact_version.rb
pact_broker-2.9.0 lib/pact_broker/pacts/pact_version.rb
pact_broker-2.9.0.beta.5 lib/pact_broker/pacts/pact_version.rb
pact_broker-2.8.0.beta.5 lib/pact_broker/pacts/pact_version.rb
pact_broker-2.8.0.beta.4 lib/pact_broker/pacts/pact_version.rb
pact_broker-2.7.0.beta.3 lib/pact_broker/pacts/pact_version.rb
pact_broker-2.7.0.beta.2 lib/pact_broker/pacts/pact_version.rb
pact_broker-2.7.0.beta.1 lib/pact_broker/pacts/pact_version.rb
pact_broker-2.6.0 lib/pact_broker/pacts/pact_version.rb
pact_broker-2.5.1 lib/pact_broker/pacts/pact_version.rb
pact_broker-2.5.0 lib/pact_broker/pacts/pact_version.rb
pact_broker-2.4.2 lib/pact_broker/pacts/pact_version.rb
pact_broker-2.4.1 lib/pact_broker/pacts/pact_version.rb
pact_broker-2.4.0 lib/pact_broker/pacts/pact_version.rb
pact_broker-2.3.0 lib/pact_broker/pacts/pact_version.rb
pact_broker-2.2.0 lib/pact_broker/pacts/pact_version.rb