class Precious::Views::Compare
Attributes
allow_editing[R]
diff[R]
message[R]
page[R]
versions[R]
Public Instance Methods
after()
click to toggle source
# File lib/gollum/views/compare.rb, line 16 def after @versions[1][0..6] end
before()
click to toggle source
# File lib/gollum/views/compare.rb, line 12 def before @versions[0][0..6] end
git_line?(line)
click to toggle source
# File lib/gollum/views/compare.rb, line 104 def git_line?(line) !!(line =~ /^(\\ No newline|Binary files|@@)/) end
left_diff_line_number(line)
click to toggle source
# File lib/gollum/views/compare.rb, line 62 def left_diff_line_number(line) if git_line?(line) m, li = *line.match(/\-(\d+)/) @left_diff_line_number = li.to_i @current_line_number = @left_diff_line_number ret = '...' elsif line[0] == ?- ret = @left_diff_line_number.to_s @left_diff_line_number += 1 @current_line_number = @left_diff_line_number - 1 elsif line[0] == ?+ ret = ' ' else ret = @left_diff_line_number.to_s @left_diff_line_number += 1 @current_line_number = @left_diff_line_number - 1 end ret end
line_class(line)
click to toggle source
private
# File lib/gollum/views/compare.rb, line 46 def line_class(line) if line =~ /^@@/ 'gc' elsif git_line?(line) 'gg' elsif line =~ /^\+/ 'gi' elsif line =~ /^\-/ 'gd' else '' end end
lines(diff = @diff)
click to toggle source
# File lib/gollum/views/compare.rb, line 20 def lines(diff = @diff) lines = [] lines_to_parse = diff.split("\n")[3..-1] lines_to_parse = lines_to_parse[2..-1] if lines_to_parse[0] =~ /^(---|rename to )/ if lines_to_parse.nil? || lines_to_parse.empty? lines_to_parse = [] # File is created without content else lines_to_parse = lines_to_parse[1..-1] if lines_to_parse[0].start_with?('+++') end lines_to_parse.each_with_index do |line, line_index| lines << { :line => line, :class => line_class(line), :ldln => left_diff_line_number(line), :rdln => right_diff_line_number(line) } end lines end
right_diff_line_number(line)
click to toggle source
# File lib/gollum/views/compare.rb, line 84 def right_diff_line_number(line) if git_line?(line) m, ri = *line.match(/\+(\d+)/) @right_diff_line_number = ri.to_i @current_line_number = @right_diff_line_number ret = '...' elsif line[0] == ?- ret = ' ' elsif line[0] == ?+ ret = @right_diff_line_number.to_s @right_diff_line_number += 1 @current_line_number = @right_diff_line_number - 1 else ret = @right_diff_line_number.to_s @right_diff_line_number += 1 @current_line_number = @right_diff_line_number - 1 end ret end
show_revert()
click to toggle source
# File lib/gollum/views/compare.rb, line 40 def show_revert !@message end
title()
click to toggle source
# File lib/gollum/views/compare.rb, line 8 def title [t[:comparison_of], @page.title].join(" ") end