From 718ec26a23e3e303e04c569447acf963b9ef307e Mon Sep 17 00:00:00 2001
From: Andrew8xx8 <avk@8xx8.ru>
Date: Sun, 24 Mar 2013 23:55:51 +0400
Subject: [PATCH] Routing updated to support global snippets

---
 config/routes.rb             |  8 +++++++
 spec/routing/routing_spec.rb | 45 ++++++++++++++++++++++++++++++++++++
 2 files changed, 53 insertions(+)

diff --git a/config/routes.rb b/config/routes.rb
index 21a5eb9bfec..f3632e64d61 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -100,6 +100,14 @@ Gitlab::Application.routes.draw do
 
   get "errors/githost"
 
+  resources :snippets do
+    member do
+      get "raw"
+      get "my"
+    end
+  end
+  match "/s/:username" => "snippets#user_index", as: :user_snippets, constraints: { username: /.*/ }
+
   #
   # Profile Area
   #
diff --git a/spec/routing/routing_spec.rb b/spec/routing/routing_spec.rb
index 5ad8165ecce..3d7db8ac217 100644
--- a/spec/routing/routing_spec.rb
+++ b/spec/routing/routing_spec.rb
@@ -25,6 +25,51 @@ describe "Mounted Apps", "routing" do
   end
 end
 
+#     snippets GET    /snippets(.:format)          snippets#index
+#          POST   /snippets(.:format)          snippets#create
+#  new_snippet GET    /snippets/new(.:format)      snippets#new
+# edit_snippet GET    /snippets/:id/edit(.:format) snippets#edit
+#      snippet GET    /snippets/:id(.:format)      snippets#show
+#          PUT    /snippets/:id(.:format)      snippets#update
+#          DELETE /snippets/:id(.:format)      snippets#destroy
+describe SnippetsController, "routing" do
+  it "to #user_index" do
+    get("/s/User").should route_to('snippets#user_index', username: 'User')
+  end
+
+  it "to #raw" do
+    get("/snippets/1/raw").should route_to('snippets#raw', id: '1')
+  end
+
+  it "to #index" do
+    get("/snippets").should route_to('snippets#index')
+  end
+
+  it "to #create" do
+    post("/snippets").should route_to('snippets#create')
+  end
+
+  it "to #new" do
+    get("/snippets/new").should route_to('snippets#new')
+  end
+
+  it "to #edit" do
+    get("/snippets/1/edit").should route_to('snippets#edit', id: '1')
+  end
+
+  it "to #show" do
+    get("/snippets/1").should route_to('snippets#show', id: '1')
+  end
+
+  it "to #update" do
+    put("/snippets/1").should route_to('snippets#update', id: '1')
+  end
+
+  it "to #destroy" do
+    delete("/snippets/1").should route_to('snippets#destroy', id: '1')
+  end
+end
+
 #              help GET    /help(.:format)              help#index
 #  help_permissions GET    /help/permissions(.:format)  help#permissions
 #     help_workflow GET    /help/workflow(.:format)     help#workflow
-- 
GitLab