Consistently use [path, ref], not [ref, path]
[gitorious:libdolt.git] / lib / dolt / sinatra / single_repo_browser.rb
1 # encoding: utf-8
2 #--
3 #   Copyright (C) 2012 Gitorious AS
4 #
5 #   This program is free software: you can redistribute it and/or modify
6 #   it under the terms of the GNU Affero General Public License as published by
7 #   the Free Software Foundation, either version 3 of the License, or
8 #   (at your option) any later version.
9 #
10 #   This program is distributed in the hope that it will be useful,
11 #   but WITHOUT ANY WARRANTY; without even the implied warranty of
12 #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 #   GNU Affero General Public License for more details.
14 #
15 #   You should have received a copy of the GNU Affero General Public License
16 #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 #++
18 require "dolt/sinatra/base"
19
20 module Dolt
21   module Sinatra
22     class SingleRepoBrowser < Dolt::Sinatra::Base
23       attr_reader :repo
24
25       def initialize(repo, actions, renderer)
26         @repo = repo
27         super(actions, renderer)
28       end
29
30       aget "/" do
31         redirect("/blob/master:Readme.md")
32       end
33
34       aget "/blob/*:*" do
35         ref, path = params[:splat]
36         blob(repo, path, ref)
37       end
38
39       aget "/blob/*" do
40         redirect("/blob/master:" + params[:splat].join)
41       end
42     end
43   end
44 end