Class: PrettyDiff::LineNumbers

Inherits:
Object
  • Object
show all
Defined in:
lib/pretty_diff/line_numbers.rb

Overview

Represent 2 columns of numbers that will be displayed on the left of the HTML presentation.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(diff, meta) ⇒ LineNumbers

Returns a new instance of LineNumbers.



9
10
11
12
# File 'lib/pretty_diff/line_numbers.rb', line 9

def initialize(diff, meta)
  @diff = diff
  @meta_info = meta
end

Instance Attribute Details

#diffObject (readonly)

:nodoc:



7
8
9
# File 'lib/pretty_diff/line_numbers.rb', line 7

def diff
  @diff
end

#meta_infoObject (readonly)

:nodoc:



7
8
9
# File 'lib/pretty_diff/line_numbers.rb', line 7

def meta_info
  @meta_info
end

Instance Method Details

#act_on_line(line) ⇒ Object

Increase either left column of numbers, right or both of them; depending on the Line status.



15
16
17
18
19
20
21
22
23
# File 'lib/pretty_diff/line_numbers.rb', line 15

def act_on_line(line)
  if line.added?
    increase_right
  elsif line.deleted?
    increase_left
  else
    increase_both
  end
end

#left_columnObject



30
31
32
# File 'lib/pretty_diff/line_numbers.rb', line 30

def left_column
  @left_column ||= []
end

#right_columnObject



34
35
36
# File 'lib/pretty_diff/line_numbers.rb', line 34

def right_column
  @right_column ||= []
end

#to_htmlObject

Generate HTML presentation for a both line numbers columns. Return a string.



26
27
28
# File 'lib/pretty_diff/line_numbers.rb', line 26

def to_html
  generator.generate
end