Sha256: 6a746418c3e82f5de6715868320917d5c39fdf2fdc75064008a656cd8917d84a

Contents?: true

Size: 1.85 KB

Versions: 17

Compression:

Stored size: 1.85 KB

Contents

# encoding: utf-8
#--
#   Copyright (C) 2012 Gitorious AS
#
#   This program is free software: you can redistribute it and/or modify
#   it under the terms of the GNU Affero General Public License as published by
#   the Free Software Foundation, either version 3 of the License, or
#   (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU Affero General Public License for more details.
#
#   You should have received a copy of the GNU Affero General Public License
#   along with this program.  If not, see <http://www.gnu.org/licenses/>.
#++

module Dolt
  module View
    module Blame
      def blame_annotations(blame)
        blame.chunks.inject([]) do |blames, chunk|
          blames << chunk
          (chunk[:lines].length - 1).times { blames << nil }
          blames
        end
      end

      def blame_lines(path, blame)
        lines = blame.chunks.inject([]) do |lines, chunk|
          lines.concat(chunk[:lines])
        end

        return lines unless respond_to?(:highlight)
        highlight(path, lines.join("\n")).split("\n")
      end

      def blame_annotation_cell(annotation)
        class_name = "gts-blame-annotation" + (annotation.nil? ? "" : " gts-annotated")
        return "<td class=\"#{class_name}\"></td>" if annotation.nil?

        <<-HTML
          <td class="#{class_name}">
            <span class="gts-commit-oid" data-gts-commit-oid="#{annotation[:oid]}">#{annotation[:oid][0..6]}</span>
            #{annotation[:committer][:time].strftime("%Y-%m-%d")}
            #{annotation[:committer][:name]}
          </td>
        HTML
      end

      def blame_code_cell(line)
        "<td class=\"gts-code\"><code>#{line}</code></td>"
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
libdolt-0.27.0 lib/libdolt/view/blame.rb
libdolt-0.26.0 lib/libdolt/view/blame.rb
libdolt-0.25.0 lib/libdolt/view/blame.rb
libdolt-0.24.0 lib/libdolt/view/blame.rb
libdolt-0.23.0 lib/libdolt/view/blame.rb
libdolt-0.22.0 lib/libdolt/view/blame.rb
libdolt-0.21.0 lib/libdolt/view/blame.rb
libdolt-0.20.0 lib/libdolt/view/blame.rb
libdolt-0.19.0 lib/libdolt/view/blame.rb
libdolt-0.18.0 lib/libdolt/view/blame.rb
libdolt-0.17.1 lib/libdolt/view/blame.rb
libdolt-0.17.0 lib/libdolt/view/blame.rb
libdolt-0.16.0 lib/libdolt/view/blame.rb
libdolt-0.15.0 lib/libdolt/view/blame.rb
libdolt-0.14.0 lib/libdolt/view/blame.rb
libdolt-0.13.0 lib/libdolt/view/blame.rb
libdolt-0.12.0 lib/libdolt/view/blame.rb