Sha256: c0470c8dad813e1edb39072c50d8b30801c16a7b5ad4571dc26091f454755cd9

Contents?: true

Size: 703 Bytes

Versions: 5

Compression:

Stored size: 703 Bytes

Contents

class PrettyDiff::LineGenerator

  attr_reader :line

  def initialize(line)
    @line = line
  end

  def generate
    if line.added?
      added_html(content)
    elsif line.deleted?
      deleted_html(content)
    else
      not_modified_html(content)
    end
  end

private

  def content
    @_content ||= line.format
  end

  def wrapper_html
    if line.diff.options[:wrap_lines]
      "<div> #{yield} </div>"
    else
      yield
    end
  end

  def added_html(text)
    wrapper_html { %Q[<span class="gi">#{text}</span>] }
  end

  def deleted_html(text)
    wrapper_html { %Q[<span class="gd">#{text}</span>] }
  end

  def not_modified_html(text)
    wrapper_html { %Q[#{text}] }
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
pretty_diff-0.9.3 lib/pretty_diff/html_generators/line_generator.rb
pretty_diff-0.9.2 lib/pretty_diff/html_generators/line_generator.rb
pretty_diff-0.8.1 lib/pretty_diff/html_generators/line_generator.rb
pretty_diff-0.8.0 lib/pretty_diff/html_generators/line_generator.rb
pretty_diff-0.7.0 lib/pretty_diff/html_generators/line_generator.rb