# module CommitsHelper

### Public Instance Methods

build_line_anchor(index, line_new, line_old) click to toggle source

    # File app/helpers/commits_helper.rb, line 12
    def build_line_anchor(index, line_new, line_old)
      "#{index}_#{line_old}_#{line_new}"
    end

each_diff_line(diff_arr, index) { |full_line, type, nil, nil, nil| ... } click to toggle source

    # File app/helpers/commits_helper.rb, line 16
    def each_diff_line(diff_arr, index)
      line_old = 1
      line_new = 1
      type = nil

      lines_arr = ::Gitlab::InlineDiff.processing diff_arr
      lines_arr.each do |line|
        next if line.match(%r^\-\-\- \/dev\/null/)
        next if line.match(%r^\+\+\+ \/dev\/null/)
        next if line.match(%r^\-\-\- a/)
        next if line.match(%r^\+\+\+ b/)

        full_line = html_escape(line.gsub(%r\n/, ''))
        full_line = ::Gitlab::InlineDiff.replace_markers full_line

        if line.match(%r^@@ -/)
          type = "match"

          line_old = line.match(%r\-[0-9]*/)[0].to_i.abs rescue 0
          line_new = line.match(%r\+[0-9]*/)[0].to_i.abs rescue 0

          next if line_old == 1 && line_new == 1 #top of file
          yield(full_line, type, nil, nil, nil)
          next
        else
          type = identification_type(line)
          line_code = build_line_anchor(index, line_new, line_old)
          yield(full_line, type, line_code, line_new, line_old)
        end

        if line[0] == "+"
          line_new += 1
        elsif line[0] == "-"
          line_old += 1
        else
          line_new += 1
          line_old += 1
        end
      end
    end

identification_type(line) click to toggle source

    # File app/helpers/commits_helper.rb, line 2
    def identification_type(line)
      if line[0] == "+"
        "new"
      elsif line[0] == "-"
        "old"
      else
        nil
      end
    end

image_diff_class(diff) click to toggle source

    # File app/helpers/commits_helper.rb, line 58
    def image_diff_class(diff)
      if diff.deleted_file
        "diff_image_removed"
      elsif diff.new_file
        "diff_image_added"
      else
        nil
      end
    end