Sha256: a3c649ed79a81ee454c5767438e09a35af53e516936450abdf38259c5f24d31b

Contents?: true

Size: 1.25 KB

Versions: 22

Compression:

Stored size: 1.25 KB

Contents

require 'pact_broker/db'
require 'pact_broker/json'

module PactBroker

  module Domain
    class Pact

      attr_accessor :id, :provider, :consumer_version, :consumer, :created_at, :json_content, :consumer_version_number, :revision_number, :pact_version_sha, :latest_verification

      def initialize attributes
        attributes.each_pair do | key, value |
          self.send(key.to_s + "=", value)
        end
      end

      def consumer_name
        consumer.name
      end

      def provider_name
        provider.name
      end

      def consumer
        consumer_version.pacticipant
      end

      def consumer_version_tag_names
        consumer_version.tags.collect(&:name)
      end

      def to_s
        "Pact: consumer=#{consumer.name} provider=#{provider.name}"
      end

      def to_json options = {}
        json_content
      end

      def name
        "Pact between #{consumer.name} (v#{consumer_version_number}) and #{provider.name}"
      end

      def version_and_updated_date
        "Version #{consumer_version_number} - #{created_at.to_time.localtime.strftime("%d/%m/%Y")}"
      end

      def content_hash
        JSON.parse(json_content, PACT_PARSING_OPTIONS)
      end

      def pact_publication_id
        id
      end
    end

  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
pact_broker-2.35.0 lib/pact_broker/domain/pact.rb
pact_broker-2.34.0 lib/pact_broker/domain/pact.rb
pact_broker-2.33.0 lib/pact_broker/domain/pact.rb
pact_broker-2.32.0 lib/pact_broker/domain/pact.rb
pact_broker-2.31.0 lib/pact_broker/domain/pact.rb
pact_broker-2.30.0 lib/pact_broker/domain/pact.rb
pact_broker-2.29.0 lib/pact_broker/domain/pact.rb
pact_broker-2.27.6 lib/pact_broker/domain/pact.rb
pact_broker-2.27.5 lib/pact_broker/domain/pact.rb
pact_broker-2.27.4 lib/pact_broker/domain/pact.rb
pact_broker-2.27.3 lib/pact_broker/domain/pact.rb
pact_broker-2.27.2 lib/pact_broker/domain/pact.rb
pact_broker-2.27.0 lib/pact_broker/domain/pact.rb
pact_broker-2.26.1 lib/pact_broker/domain/pact.rb
pact_broker-2.26.0 lib/pact_broker/domain/pact.rb
pact_broker-2.25.0 lib/pact_broker/domain/pact.rb
pact_broker-2.24.0 lib/pact_broker/domain/pact.rb
pact_broker-2.23.4 lib/pact_broker/domain/pact.rb
pact_broker-2.23.3 lib/pact_broker/domain/pact.rb
pact_broker-2.23.2 lib/pact_broker/domain/pact.rb