Sha256: 33842d31eb641e19a2ec7027857f01215b6952677d0c21968292856bc7a5a766

Contents?: true

Size: 572 Bytes

Versions: 2

Compression:

Stored size: 572 Bytes

Contents

require "rouge"

module SourceBrowser
  class SourceController < ApplicationController
    def index
      @files = git.ls_files
    end

    def show
      @path = params[:id]
      @object = git.object(@path)
      @files = git.ls_files

      @formatter = Rouge::Formatters::HTML.new
      @formatter = Rouge::Formatters::HTMLLineTable.new(@formatter, line_id: "L%i", line_format: "<a href='?line=%i'>%i</a>")
      @lexer = Rouge::Lexer.guess(filename: @path, source: @object.contents)
      @source = @formatter.format(@lexer.lex(@object.contents))
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
source_browser-0.2.0 app/controllers/source_browser/source_controller.rb
source_browser-0.1.0 app/controllers/source_browser/source_controller.rb