Skip to content

Commit 128d51e

Browse files
committedJul 12, 2014
clean up routes
1 parent d2d9ee5 commit 128d51e

File tree

1 file changed

+152
-149
lines changed

1 file changed

+152
-149
lines changed
 

‎config/routes.rb

Lines changed: 152 additions & 149 deletions
Original file line numberDiff line numberDiff line change
@@ -3,174 +3,169 @@
33
Badgiy::Application.routes.draw do
44

55
# We get 10K's of requests for this route.
6-
match '/.json', to: proc { [404, {}, ['']] }
7-
match '/teams/.json', to: proc { [404, {}, ['']] }
6+
get '/.json', to: proc { [404, {}, ['']] }
7+
get '/teams/.json', to: proc { [404, {}, ['']] }
88

9-
if Rails.env.development?
10-
mount MailPreview => 'mail_view'
11-
end
12-
13-
get 'protips/update'
14-
put 'protips/update'
15-
16-
get 'protip/update'
17-
put 'protip/update'
9+
match 'protips/update', via: %w(get put)
10+
match 'protip/update' , via: %w(get put)
1811

1912
root to: 'protips#index'
20-
match 'welcome' => 'home#index', as: :welcome
13+
get 'welcome' => 'home#index', as: :welcome
2114

2215
mount ServeFonts.new, at: '/fonts'
23-
match '/p/dpvbbg' => redirect('https://coderwall.com/p/devsal')
24-
match '/gh' => redirect('/?utm_campaign=github_orgs_badges&utm_source=github')
16+
get '/p/dpvbbg' => redirect('https://coderwall.com/p/devsal')
17+
get '/gh' => redirect('/?utm_campaign=github_orgs_badges&utm_source=github')
2518

2619
topic_regex = /[A-Za-z0-9#\$\+\-_\.(%23)(%24)(%2B)]+/
2720

28-
match '/comments' => 'comments#index', as: :latest_comments
29-
match '/jobs(/:location(/:skill))' => 'opportunities#index', as: :jobs
30-
match '/jobs-map' => 'opportunities#map', as: :jobs_map
21+
get '/comments' => 'comments#index', as: :latest_comments
22+
get '/jobs(/:location(/:skill))' => 'opportunities#index', as: :jobs
23+
get '/jobs-map' => 'opportunities#map', as: :jobs_map
3124

3225
mount Split::Dashboard, at: 'split'
3326

3427
resources :protips, :path => '/p', :constraints => {id: /[\dA-Z\-_]{6}/i} do
35-
collection { get 'random' }
36-
collection { get 'search' => 'protips#search', as: :search }
37-
collection { post 'search' => 'protips#search' }
38-
collection { get 'me' => 'protips#me', as: :my }
39-
collection { get 'admin' => 'protips#admin', as: :reviewable }
40-
collection { get 'team/:team_slug' => 'protips#team', as: :team }
41-
collection { get 'd/:date(/:start)' => 'protips#date', as: :date }
42-
collection { get 't/trending' => 'protips#trending', as: :trending_topics }
43-
collection { get 't/by_tags' => 'protips#by_tags', as: :by_tags }
44-
collection { get 'u/:username' => 'protips#user', as: :user }
45-
collection { get 't/(/*tags)' => 'networks#tag', as: :tagged }
46-
collection { put 't/(/*tags)/subscribe' => 'protips#subscribe', as: :subscribe }
47-
collection { put 't/(/*tags)/unsubscribe' => 'protips#unsubscribe', as: :unsubscribe }
48-
collection { get 'fresh' }
49-
collection { get 'trending' }
50-
collection { get 'popular' }
51-
collection { get 'liked' }
52-
collection { post 'preview' }
53-
54-
member { post 'upvote' }
55-
member { post 'report_inappropriate' }
56-
member { post 'tag' }
57-
member { post 'flag' }
58-
member { post 'feature' }
59-
member { post 'queue/:queue' => 'protips#queue', as: :queue }
60-
member { post 'delete_tag/:topic' => 'protips#delete_tag', as: :delete_tag, :topic => topic_regex }
28+
collection do
29+
get 'random'
30+
get 'search' => 'protips#search', as: :search
31+
post 'search' => 'protips#search'
32+
get 'me' => 'protips#me', as: :my
33+
get 'admin' => 'protips#admin', as: :reviewable
34+
get 'team/:team_slug' => 'protips#team', as: :team
35+
get 'd/:date(/:start)' => 'protips#date', as: :date
36+
get 't/trending' => 'protips#trending', as: :trending_topics
37+
get 't/by_tags' => 'protips#by_tags', as: :by_tags
38+
get 'u/:username' => 'protips#user', as: :user
39+
get 't/(/*tags)' => 'networks#tag', as: :tagged
40+
put 't/(/*tags)/subscribe' => 'protips#subscribe', as: :subscribe
41+
put 't/(/*tags)/unsubscribe' => 'protips#unsubscribe', as: :unsubscribe
42+
get 'fresh'
43+
get 'trending'
44+
get 'popular'
45+
get 'liked'
46+
post 'preview'
47+
end
48+
member do
49+
post 'upvote'
50+
post 'report_inappropriate'
51+
post 'tag'
52+
post 'flag'
53+
post 'feature'
54+
post 'queue/:queue' => 'protips#queue', as: :queue
55+
post 'delete_tag/:topic' => 'protips#delete_tag', as: :delete_tag, :topic => topic_regex
56+
end
6157
resources :comments, :constraints => {id: /\d+/} do
6258
member { post 'like' }
6359
end
6460
end
6561

6662
resources :networks, :path => '/n', :constraints => {:slug => /[\dA-Z\-]/i} do
67-
collection { get 'featured' => 'networks#featured', as: :featured }
68-
collection { get '/u/:username' => 'networks#user', as: :user }
69-
member { get '/t/(/*tags)' => 'networks#tag', as: :tagged }
70-
member { get '/members' => 'networks#members', as: :members }
71-
member { get '/mayor' => 'networks#mayor', as: :mayor }
72-
member { get '/expert' => 'networks#expert', as: :expert }
73-
member { post '/join' => 'networks#join', as: :join }
74-
member { post '/leave' => 'networks#leave', as: :leave }
75-
member { post '/update-tags' => 'networks#update_tags', as: :update_tags }
76-
member { get '/current-mayor' => 'networks#current_mayor', as: :current_mayor }
63+
collection do
64+
get 'featured' => 'networks#featured', as: :featured
65+
get '/u/:username' => 'networks#user', as: :user
66+
end
67+
member do
68+
get '/t/(/*tags)' => 'networks#tag', as: :tagged
69+
get '/members' => 'networks#members', as: :members
70+
get '/mayor' => 'networks#mayor', as: :mayor
71+
get '/expert' => 'networks#expert', as: :expert
72+
post '/join' => 'networks#join', as: :join
73+
post '/leave' => 'networks#leave', as: :leave
74+
post '/update-tags' => 'networks#update_tags', as: :update_tags
75+
get '/current-mayor' => 'networks#current_mayor', as: :current_mayor
76+
end
7777
end
7878

7979
resources :processing_queues, :path => '/q' do
8080
member { post '/dequeue/:item' => 'processing_queues#dequeue', as: :dequeue }
8181
end
8282

83-
match 'trending' => 'protips#index', as: :protips
83+
get 'trending' => 'protips#index', as: :protips
8484

85-
if Rails.env.development?
86-
match '/letter_opener' => 'letter_opener/letters#index', as: :letter_opener_letters
87-
match '/letter_opener/:id/:style.html' => 'letter_opener/letters#show', as: :letter_opener_letter
88-
mount Campaigns::Preview => 'campaigns'
89-
mount Notifier::Preview => 'mail'
90-
mount WeeklyDigest::Preview => 'digest'
91-
mount Subscription::Preview => 'subscription'
92-
end
85+
get 'faq' => 'pages#show', :page => :faq, as: :faq
86+
get 'tos' => 'pages#show', :page => :tos, as: :tos
87+
get 'privacy_policy' => 'pages#show', :page => :privacy_policy, as: :privacy_policy
88+
get 'contact_us' => 'pages#show', :page => :contact_us, as: :contact_us
89+
get 'api' => 'pages#show', :page => :api, as: :api
90+
get 'achievements' => 'pages#show', :page => :achievements, as: :achievements if Rails.env.development?
91+
get '/pages/:page' => 'pages#show'
92+
93+
get 'award' => 'achievements#award', as: :award_badge
9394

94-
match 'faq' => 'pages#show', :page => :faq, as: :faq
95-
match 'tos' => 'pages#show', :page => :tos, as: :tos
96-
match 'privacy_policy' => 'pages#show', :page => :privacy_policy, as: :privacy_policy
97-
match 'contact_us' => 'pages#show', :page => :contact_us, as: :contact_us
98-
match 'api' => 'pages#show', :page => :api, as: :api
99-
match 'achievements' => 'pages#show', :page => :achievements, as: :achievements if Rails.env.development?
100-
match '/pages/:page' => 'pages#show'
101-
102-
match 'award' => 'achievements#award', as: :award_badge
103-
104-
match '/auth/:provider/callback' => 'sessions#create', as: :authenticate
105-
match '/auth/failure' => 'sessions#failure', as: :authentication_failure
106-
match '/settings' => 'users#edit', as: :settings
107-
match '/redeem/:code' => 'redemptions#show'
108-
match '/unsubscribe' => 'emails#unsubscribe'
109-
match '/delivered' => 'emails#delivered'
110-
match '/delete_account' => 'users#delete_account', as: :delete_account
111-
match '/delete_account_confirmed' => 'users#delete_account_confirmed', as: :delete_account_confirmed, :via => :post
95+
get '/auth/:provider/callback' => 'sessions#create', as: :authenticate
96+
get '/auth/failure' => 'sessions#failure', as: :authentication_failure
97+
get '/settings' => 'users#edit', as: :settings
98+
get '/redeem/:code' => 'redemptions#show'
99+
get '/unsubscribe' => 'emails#unsubscribe'
100+
get '/delivered' => 'emails#delivered'
101+
get '/delete_account' => 'users#delete_account', as: :delete_account
102+
post '/delete_account_confirmed' => 'users#delete_account_confirmed', as: :delete_account_confirmed
112103

113104
resources :authentications, :usernames
114105
resources :invitations
115-
match '/i/:id/:r' => 'invitations#show', as: :invitation
106+
get '/i/:id/:r' => 'invitations#show', as: :invitation
116107

117108
resources :sessions do
118109
collection { get('force') }
119110
end
120111

121-
match 'webhooks/stripe' => 'accounts#webhook'
122-
match '/alerts' => 'alerts#create', :via => :post
123-
match '/alerts' => 'alerts#index', :via => :get
112+
get 'webhooks/stripe' => 'accounts#webhook'
113+
get '/alerts' => 'alerts#create', :via => :post
114+
get '/alerts' => 'alerts#index', :via => :get
124115

125-
#match '/payment' => 'accounts#new', as: :payment
116+
#get '/payment' => 'accounts#new', as: :payment
126117

127-
match '/users/:username/follow' => 'follows#create', as: :follow_user, :type => :user, :via => :post
118+
post '/users/:username/follow' => 'follows#create', as: :follow_user, :type => :user
128119

129-
match '/team/:slug' => 'teams#show', as: :teamname
130-
match '/team/:slug/edit' => 'teams#edit', as: :teamname_edit
131-
match '/team/:slug/(:job_id)' => 'teams#show', as: :job
120+
get '/team/:slug' => 'teams#show', as: :teamname
121+
get '/team/:slug/edit' => 'teams#edit', as: :teamname_edit
122+
get '/team/:slug/(:job_id)' => 'teams#show', as: :job
132123

133124
resources :teams do
134-
collection { post 'inquiry' }
135-
member { get 'accept' }
136-
member { post 'record-exit' => 'teams#record_exit', as: :record_exit }
137-
member { get 'visitors' }
138-
member { post 'follow' => 'follows#create', :type => :team }
139-
member { post 'join' }
140-
member { post 'join/:user_id/approve' => 'teams#approve_join', as: :approve_join }
141-
member { post 'join/:user_id/deny' => 'teams#deny_join', as: :deny_join }
142-
collection { get 'followed' }
143-
collection { get 'search' }
125+
member do
126+
get 'accept'
127+
post 'record-exit' => 'teams#record_exit', as: :record_exit
128+
get 'visitors'
129+
post 'follow' => 'follows#create', :type => :team
130+
post 'join'
131+
post 'join/:user_id/approve' => 'teams#approve_join', as: :approve_join
132+
post 'join/:user_id/deny' => 'teams#deny_join', as: :deny_join
133+
end
134+
collection do
135+
post 'inquiry'
136+
get 'followed'
137+
get 'search'
138+
end
144139
resources :team_members
145140
resources :team_locations, as: :locations
146141
resources :opportunities do
147-
member { post 'apply' }
148-
member { get 'activate' }
149-
member { get 'deactivate' }
150-
member { post 'visit' }
142+
member do
143+
post 'apply'
144+
get 'activate'
145+
get 'deactivate'
146+
post 'visit'
147+
end
151148
end
152149
resource :account do
153150
collection { post 'send_invoice' => 'accounts#send_invoice' }
154151
end
155152
end
156153

157-
match '/leaderboard' => 'teams#leaderboard', as: :leaderboard
158-
match '/employers' => 'teams#upgrade', as: :employers
154+
get '/leaderboard' => 'teams#leaderboard', as: :leaderboard
155+
get '/employers' => 'teams#upgrade', as: :employers
159156

160157
['github', 'twitter', 'forrst', 'dribbble', 'linkedin', 'codeplex', 'bitbucket', 'stackoverflow'].each do |provider|
161-
match "/#{provider}/unlink" => 'users#unlink_provider', :provider => provider, :via => :post, as: "unlink_#{provider}".to_sym
162-
match "/#{provider}/:username" => 'users#show', :provider => provider
158+
post "/#{provider}/unlink" => 'users#unlink_provider', :provider => provider, as: "unlink_#{provider}".to_sym
159+
get "/#{provider}/:username" => 'users#show', :provider => provider
163160
end
164161

165162
resources :users do
166-
collection {
163+
collection do
167164
post 'invite'
168165
get 'autocomplete'
169166
get 'status'
170-
}
171-
member {
172-
post 'specialties'
173-
}
167+
end
168+
member { post 'specialties' }
174169
resources :skills
175170
resources :highlights
176171
resources :endorsements
@@ -180,54 +175,62 @@
180175
resources :unbans, only: [:create]
181176
end
182177

183-
match 'clear/:id/:provider' => 'users#clear_provider', as: :clear_provider
184-
match '/visual' => 'users#beta'
185-
match '/refresh/:username' => 'users#refresh', as: :refresh
186-
match '/nextaccomplishment' => 'highlights#random', as: :random_accomplishment
187-
match '/add-skill' => 'skills#create', as: :add_skill, :via => :post
178+
get '/clear/:id/:provider' => 'users#clear_provider', as: :clear_provider
179+
get '/visual' => 'users#beta'
180+
get '/refresh/:username' => 'users#refresh', as: :refresh
181+
get '/nextaccomplishment' => 'highlights#random', as: :random_accomplishment
182+
get '/add-skill' => 'skills#create', as: :add_skill, :via => :post
188183

189184
require_admin = ->(params, req) { User.where(id: req.session[:current_user]).first.try(:admin?) }
190185

191186
scope :admin, as: :admin, :path => '/admin', :constraints => require_admin do
192-
match '/' => 'admin#index', as: :root
193-
match '/failed_jobs' => 'admin#failed_jobs'
194-
match '/cache_stats' => 'admin#cache_stats'
195-
match '/teams' => 'admin#teams', as: :teams
196-
match '/teams/sections/:num_sections' => 'admin#sections_teams', as: :sections_teams
197-
match '/teams/section/:section' => 'admin#section_teams', as: :section_teams
187+
get '/' => 'admin#index', as: :root
188+
get '/failed_jobs' => 'admin#failed_jobs'
189+
get '/cache_stats' => 'admin#cache_stats'
190+
get '/teams' => 'admin#teams', as: :teams
191+
get '/teams/sections/:num_sections' => 'admin#sections_teams', as: :sections_teams
192+
get '/teams/section/:section' => 'admin#section_teams', as: :section_teams
198193
mount Resque::Server.new, at: '/resque'
199194
end
200195

201-
match '/blog' => 'blog_posts#index', as: :blog
202-
match '/blog/:id' => 'blog_posts#show', as: :blog_post
203-
match '/articles.atom' => 'blog_posts#index', as: :atom, :format => :atom
204-
205-
match '/' => 'protips#index', as: :signup
206-
match '/signin' => 'sessions#signin', as: :signin
207-
match '/signout' => 'sessions#destroy', as: :signout
208-
match '/goodbye' => 'sessions#destroy', as: :sign_out
209-
210-
match '/dashboard' => 'events#index', as: :dashboard
211-
match '/roll-the-dice' => 'users#randomize', as: :random_wall
212-
match '/trending' => 'links#index', as: :trending
213-
match '/:username' => 'users#show', as: :badge
214-
match '/:username/achievements/:id' => 'achievements#show', as: :user_achievement
215-
match '/:username/endorsements.json' => 'endorsements#show'
216-
match '/:username/followers' => 'follows#index', as: :followers, :type => :followers
217-
match '/:username/following' => 'follows#index', as: :following, :type => :following
218-
match '/:username/events' => 'events#index', as: :user_activity_feed
219-
match '/:username/events/more' => 'events#more'
220-
221-
match '/javascripts/*filename.js' => 'legacy#show', extension: 'js'
222-
match '/stylesheets/*filename.css' => 'legacy#show', extension: 'css'
223-
match '/images/*filename.png' => 'legacy#show', extension: 'png'
224-
match '/images/*filename.jpg' => 'legacy#show', extension: 'jpg'
225-
226-
match ':controller(/:action(/:id(.:format)))' if Rails.env.test? || Rails.env.development?
196+
get '/blog' => 'blog_posts#index', as: :blog
197+
get '/blog/:id' => 'blog_posts#show', as: :blog_post
198+
get '/articles.atom' => 'blog_posts#index', as: :atom, :format => :atom
199+
200+
get '/' => 'protips#index', as: :signup
201+
get '/signin' => 'sessions#signin', as: :signin
202+
get '/signout' => 'sessions#destroy', as: :signout
203+
get '/goodbye' => 'sessions#destroy', as: :sign_out
204+
205+
get '/dashboard' => 'events#index', as: :dashboard
206+
get '/roll-the-dice' => 'users#randomize', as: :random_wall
207+
get '/trending' => 'links#index', as: :trending
208+
get '/:username' => 'users#show', as: :badge
209+
get '/:username/achievements/:id' => 'achievements#show', as: :user_achievement
210+
get '/:username/endorsements.json' => 'endorsements#show'
211+
get '/:username/followers' => 'follows#index', as: :followers, :type => :followers
212+
get '/:username/following' => 'follows#index', as: :following, :type => :following
213+
get '/:username/events' => 'events#index', as: :user_activity_feed
214+
get '/:username/events/more' => 'events#more'
215+
216+
get '/javascripts/*filename.js' => 'legacy#show', extension: 'js'
217+
get '/stylesheets/*filename.css' => 'legacy#show', extension: 'css'
218+
get '/images/*filename.png' => 'legacy#show', extension: 'png'
219+
get '/images/*filename.jpg' => 'legacy#show', extension: 'jpg'
227220

228221
namespace :callbacks do
229222
post '/hawt/feature' => 'hawt#feature'
230223
post '/hawt/unfeature' => 'hawt#unfeature'
231224
end
232225

226+
if Rails.env.development?
227+
mount MailPreview => 'mail_view'
228+
get '/letter_opener' => 'letter_opener/letters#index', as: :letter_opener_letters
229+
get '/letter_opener/:id/:style.html' => 'letter_opener/letters#show', as: :letter_opener_letter
230+
mount Campaigns::Preview => 'campaigns'
231+
mount Notifier::Preview => 'mail'
232+
mount WeeklyDigest::Preview => 'digest'
233+
mount Subscription::Preview => 'subscription'
234+
end
235+
233236
end

0 commit comments

Comments
 (0)