Sha256: 3af8eb5cbd2122058726c932a7df66189bc7cd94c55d016a12d39603ab7252b4

Contents?: true

Size: 959 Bytes

Versions: 1

Compression:

Stored size: 959 Bytes

Contents

# frozen_string_literal: true

module HashDeepDiff
  # Different reporting enjines for {Delta}
  module Reports
    # Abstract Class
    class Base
      # raw data for {#report}
      def raw_report
        raise AbstractMethodError
      end

      # see {#to_str}
      # @return [String]
      def to_s
        to_str
      end

      # see {#report}
      # @return [String]
      def to_str
        report
      end

      # A report on additions and deletions
      # @return [String]
      def report
        raise AbstractMethodError
      end

      private

      # @!attribute [r] diff
      #    @return [Array<HashDeepDiff::Delta>] set of deltas from Comparison of two objects
      attr_reader :diff

      # @param [Array<HashDeepDiff::Delta>] diff comparison data to report
      def initialize(diff:, change_key_engine: HashDeepDiff::ChangeKey)
        @diff = diff.to_ary
        @change_key = change_key_engine
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hash_deep_diff-0.8.0 lib/hash_deep_diff/reports/base.rb