Sha256: 9495fcdb41756dd2db94f0ecb1c11581755c0e15c33ccf86c5c8f9a1b2b6e01b

Contents?: true

Size: 954 Bytes

Versions: 59

Compression:

Stored size: 954 Bytes

Contents

module PactBroker

  module Verifications

    class Status

      def initialize latest_pact, latest_verification
        @latest_pact = latest_pact
        @latest_verification = latest_verification
      end

      def to_s
        to_sym.to_s
      end

      def to_sym
        return :never unless latest_pact
        return :never unless ever_verified?
        if latest_verification_successful?
          if pact_changed_since_last_verification?
            :stale
          else
            :success
          end
        else
          :failed
        end
      end

      private

      attr_reader :latest_pact, :latest_verification

      def latest_verification_successful?
        latest_verification.success
      end

      def pact_changed_since_last_verification?
        latest_verification.pact_version_sha != latest_pact.pact_version_sha
      end

      def ever_verified?
        !!latest_verification
      end
    end
  end
end

Version data entries

59 entries across 59 versions & 1 rubygems

Version Path
pact_broker-2.38.1 lib/pact_broker/verifications/verification_status.rb
pact_broker-2.38.0 lib/pact_broker/verifications/verification_status.rb
pact_broker-2.37.0 lib/pact_broker/verifications/verification_status.rb
pact_broker-2.36.1 lib/pact_broker/verifications/verification_status.rb
pact_broker-2.36.0 lib/pact_broker/verifications/verification_status.rb
pact_broker-2.35.0 lib/pact_broker/verifications/verification_status.rb
pact_broker-2.34.0 lib/pact_broker/verifications/verification_status.rb
pact_broker-2.33.0 lib/pact_broker/verifications/verification_status.rb
pact_broker-2.32.0 lib/pact_broker/verifications/verification_status.rb
pact_broker-2.31.0 lib/pact_broker/verifications/verification_status.rb
pact_broker-2.30.0 lib/pact_broker/verifications/verification_status.rb
pact_broker-2.29.0 lib/pact_broker/verifications/verification_status.rb
pact_broker-2.27.6 lib/pact_broker/verifications/verification_status.rb
pact_broker-2.27.5 lib/pact_broker/verifications/verification_status.rb
pact_broker-2.27.4 lib/pact_broker/verifications/verification_status.rb
pact_broker-2.27.3 lib/pact_broker/verifications/verification_status.rb
pact_broker-2.27.2 lib/pact_broker/verifications/verification_status.rb
pact_broker-2.27.0 lib/pact_broker/verifications/verification_status.rb
pact_broker-2.26.1 lib/pact_broker/verifications/verification_status.rb
pact_broker-2.26.0 lib/pact_broker/verifications/verification_status.rb