Sha256: 0069afb71e45a5d76accfba5b1fdc9169c5c195b81d013b212a6d30d223ff414

Contents?: true

Size: 656 Bytes

Versions: 3

Compression:

Stored size: 656 Bytes

Contents

class PrettyDiff::LineNumbersGenerator

  attr_reader :line_numbers

  def initialize(line_numbers)
    @line_numbers = line_numbers
  end

  def generate
    column_html(left_column) + column_html(right_column)
  end

private

  def left_column
    empty_lines_to_whitespace(line_numbers.left_column).join("\n")
  end

  def right_column
    empty_lines_to_whitespace(line_numbers.right_column).join("\n")
  end
  
  def empty_lines_to_whitespace(numbers)
    result = []
    numbers.each do |v|
      result << (v.nil? ? '&nbsp;' : v)
    end
    result
  end

  def column_html(text)
    %Q[<div class="code-lines"><pre>
#{text}</pre></div>]
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pretty_diff-0.9.3 lib/pretty_diff/html_generators/line_numbers_generator.rb
pretty_diff-0.9.2 lib/pretty_diff/html_generators/line_numbers_generator.rb
pretty_diff-0.9.1 lib/pretty_diff/html_generators/line_numbers_generator.rb