diff options
author | gitlabhq <m@gitlabhq.com> | 2011-11-21 01:16:10 -0500 |
---|---|---|
committer | gitlabhq <m@gitlabhq.com> | 2011-11-21 01:16:10 -0500 |
commit | 3f35cccfbd9a97bd1291c3b2dd7bdf78e8acc047 (patch) | |
tree | 7ef78e2d26b5b07c90b34d1edfd9b78971f0754f | |
parent | 4bf4efe712489090fca4ce14be9cbe7637f4d511 (diff) | |
download | gitlab-ce-3f35cccfbd9a97bd1291c3b2dd7bdf78e8acc047.tar.gz |
ref controller refactored
-rw-r--r-- | app/controllers/refs_controller.rb | 20 | ||||
-rw-r--r-- | app/models/tree.rb | 1 |
2 files changed, 10 insertions, 11 deletions
diff --git a/app/controllers/refs_controller.rb b/app/controllers/refs_controller.rb index a694115f0a7..fab732e2b1c 100644 --- a/app/controllers/refs_controller.rb +++ b/app/controllers/refs_controller.rb @@ -1,6 +1,7 @@ class RefsController < ApplicationController before_filter :project before_filter :ref + before_filter :define_tree_vars, :only => [:tree, :blob] layout "project" # Authorize @@ -22,12 +23,6 @@ class RefsController < ApplicationController # Repository preview # def tree - @repo = project.repo - - @commit = @repo.commits(@ref).first - @tree = Tree.new(@commit.tree, project, @ref, params[:path]) - @tree = TreeDecorator.new(@tree) - respond_to do |format| format.html format.js do @@ -40,11 +35,7 @@ class RefsController < ApplicationController end def blob - @repo = project.repo - @commit = project.commit(@ref) - @tree = project.tree(@commit, params[:path]) - - if @tree.is_a?(Grit::Blob) + if @tree.is_blob? send_data(@tree.data, :type => @tree.mime_type, :disposition => 'inline', :filename => @tree.name) else head(404) @@ -55,6 +46,13 @@ class RefsController < ApplicationController protected + def define_tree_vars + @repo = project.repo + @commit = project.commit(@ref) + @tree = Tree.new(@commit.tree, project, @ref, params[:path]) + @tree = TreeDecorator.new(@tree) + end + def ref @ref = params[:id] end diff --git a/app/models/tree.rb b/app/models/tree.rb index 032290a0f46..db9df1312f0 100644 --- a/app/models/tree.rb +++ b/app/models/tree.rb @@ -5,6 +5,7 @@ class Tree :basename, :name, :data, + :mime_type, :text?, :colorize, :to => :tree |