Sha256: 646af2b581ea4fdb1addac0709ea0e40866d2ef66f3167b4cd7f7b94d7ec46a3
Contents?: true
Size: 767 Bytes
Versions: 6
Compression:
Stored size: 767 Bytes
Contents
# frozen_string_literal: true # A block is an operation removing, adding, or changing a group of items. # Basically, this is just a list of changes, where each change adds or # deletes a single item. Used by bin/ldiff. class Diff::LCS::Block attr_reader :changes, :insert, :remove def initialize(chunk) @changes = [] @insert = [] @remove = [] chunk.each do |item| @changes << item @remove << item if item.deleting? @insert << item if item.adding? end end def diff_size (@insert.size - @remove.size).abs end def op case [@remove.empty?, @insert.empty?] when [false, false] '!' when [false, true] '-' when [true, false] '+' else # [true, true] '^' end end end
Version data entries
6 entries across 6 versions & 2 rubygems