Sha256: c5e08c697e22118569b0e3d91c1dbefa3c449567f7ac7e24250b2c75a3937a2e

Contents?: true

Size: 852 Bytes

Versions: 12

Compression:

Stored size: 852 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
      # @param [String] json_content
      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

12 entries across 12 versions & 1 rubygems

Version Path
pact_broker-2.108.0 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.107.1 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.107.0 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.107.0.beta.1 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.106.0 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.105.0 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.104.0 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.103.0 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.102.2 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.102.1 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.102.0 lib/pact_broker/pacts/generate_sha.rb
pact_broker-2.101.0 lib/pact_broker/pacts/generate_sha.rb