Sha256: d4353a18cf83cb5af83ec23f8b131e997ee8aa038669f2946d42004b0fce75b8

Contents?: true

Size: 805 Bytes

Versions: 1

Compression:

Stored size: 805 Bytes

Contents

# frozen_string_literal: true

module HashDeepDiff
  # Different reporting enjines for {Delta}
  module Reports
    # Abstract Class
    class Base
      # see {#to_str}
      # @return [String]
      def to_s
        to_str
      end

      # A report on additions and deletions
      # @return [String]
      def to_str
        original + replacement
      end

      private

      attr_reader :old_val, :new_val, :change_key

      # @param [Delta] delta diff to report
      def initialize(delta:)
        @change_key = delta.change_key.to_ary
        @old_val = delta.left
        @new_val = delta.right
      end

      # old value
      def original
        raise AbstractMethodError
      end

      # new value
      def replacement
        raise AbstractMethodError
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

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