Sha256: d00f9fa081a7b9f4753b32bd4a1a0c4f5cdb9c13d60f6ccd2666f0ffc4bc3855

Contents?: true

Size: 569 Bytes

Versions: 1

Compression:

Stored size: 569 Bytes

Contents

module SubDiff
  class Sub
    attr_reader :differ

    def initialize(differ)
      @differ = differ
    end

    def diff(search, *args, &block)
      differ.each_diff(search, *args, block) do |builder, diff|
        process(builder, diff, search)
      end
    end

    private

    def process(builder, diff, search)
      builder << prefix(diff)
      builder.push(diff[:replacement], diff[:match])
      builder << suffix(diff, search)
    end

    def prefix(diff)
      diff[:prefix]
    end

    def suffix(diff, _search)
      diff[:suffix]
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sub_diff-1.1.0 lib/sub_diff/sub.rb