Sha256: dbf121bd4e170d9fbe9d71e9c0507b7226fe8ea158d59722c8ca9d43bba24dae

Contents?: true

Size: 742 Bytes

Versions: 88

Compression:

Stored size: 742 Bytes

Contents

require 'digest/sha1'
require 'pact_broker/configuration'
require 'pact_broker/pacts/sort_content'
require 'pact_broker/pacts/parse'
require 'pact_broker/pacts/content'

module PactBroker
  module Pacts
    class GenerateSha
      def self.call json_content, options = {}
        content_for_sha = if PactBroker.configuration.base_equality_only_on_content_that_affects_verification_results
          extract_verifiable_content_for_sha(json_content)
        else
          json_content
        end
        Digest::SHA1.hexdigest(content_for_sha)
      end

      def self.extract_verifiable_content_for_sha json_content
        Content.from_json(json_content).sort.content_that_affects_verification_results.to_json
      end
    end
  end
end

Version data entries

88 entries across 88 versions & 1 rubygems

Version Path
pact_broker-2.79.1 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.79.0 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.78.1 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.78.0 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.77.0 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.76.2 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.76.1 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.76.0 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.75.0 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.74.1 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.74.0 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.73.0 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.72.0 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.71.0 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.70.0 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.69.0 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.68.1 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.68.0 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.67.0 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.66.0 lib/pact_broker/pacts/generate_sha.rb