Sha256: 7b6cfb9a3a385780f9e1a4281f19e345ae252bf16215fd9718ebea62d7576851

Contents?: true

Size: 762 Bytes

Versions: 310

Compression:

Stored size: 762 Bytes

Contents

# -*- ruby encoding: utf-8 -*-

# 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
  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

310 entries across 287 versions & 87 rubygems

Version Path
logstash-output-scalyr-0.1.4 vendor/bundle/jruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb
cloudsmith-api-0.51.34 vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb
cloudsmith-api-0.51.22 vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb
logstash-output-scalyr-0.1.3 vendor/bundle/jruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb
vagrant-unbundled-2.2.9.0 vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb
tdiary-5.1.2 vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb
tdiary-5.1.2 vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb
logstash-output-scalyr-0.1.2 vendor/bundle/jruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb
rentdynamics-0.2.0 .bundle/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb
rentdynamics-0.2.0 .gems/gems/diff-lcs-1.3/lib/diff/lcs/block.rb
vagrant-unbundled-2.2.8.0 vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb
jscop-0.1.2 vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb
talon_one-2.0.0 vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb
talon_one-2.0.0 vendor/bundle/ruby/2.3.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb
cloudsmith-api-0.49.118 vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb
cloudsmith-api-0.49.98 vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb
cloudsmith-api-0.49.94 vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb
pokedex-terminal-0.2.8 vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb
pokedex-terminal-0.2.7 vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb
pokedex-terminal-0.2.6 vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb