-
Notifications
You must be signed in to change notification settings - Fork 5.5k
/
routes.rb
104 lines (80 loc) · 3.44 KB
/
routes.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
Rails.application.routes.draw do
# Resources for testing
resources :users, :only => [:index] do
member do
get :expire
get :accept
get :edit_form
put :update_form
end
authenticate do
post :exhibit, :on => :member
end
end
resources :admins, :only => [:index] do
get :expire, :on => :member
end
# Users scope
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
as :user do
get "/as/sign_in", :to => "devise/sessions#new"
end
get "/sign_in", :to => "devise/sessions#new"
# Admin scope
devise_for :admin, :path => "admin_area", :controllers => { :sessions => :"admins/sessions" }, :skip => :passwords
get "/admin_area/home", :to => "admins#index", :as => :admin_root
get "/anywhere", :to => "foo#bar", :as => :new_admin_password
authenticate(:admin) do
get "/private", :to => "home#private", :as => :private
end
authenticate(:admin, lambda { |admin| admin.active? }) do
get "/private/active", :to => "home#private", :as => :private_active
end
authenticated :admin do
get "/dashboard", :to => "home#admin_dashboard"
end
authenticated :admin, lambda { |admin| admin.active? } do
get "/dashboard/active", :to => "home#admin_dashboard"
end
authenticated do
get "/dashboard", :to => "home#user_dashboard"
end
unauthenticated do
get "/join", :to => "home#join"
end
# Routes for constraints testing
devise_for :headquarters_admin, :class_name => "Admin", :path => "headquarters", :constraints => {:host => /192\.168\.1\.\d\d\d/}
constraints(:host => /192\.168\.1\.\d\d\d/) do
devise_for :homebase_admin, :class_name => "Admin", :path => "homebase"
end
devise_for :skip_admin, :class_name => "Admin", :skip => :all
# Routes for format=false testing
devise_for :htmlonly_admin, :class_name => "Admin", :skip => [:confirmations, :unlocks], :path => "htmlonly_admin", :format => false, :skip_helpers => [:confirmations, :unlocks]
devise_for :htmlonly_users, :class_name => "User", :only => [:confirmations, :unlocks], :path => "htmlonly_users", :format => false, :skip_helpers => true
# Other routes for routing_test.rb
devise_for :reader, :class_name => "User", :only => :passwords
scope :host => "sub.example.com" do
devise_for :sub_admin, :class_name => "Admin"
end
namespace :publisher, :path_names => { :sign_in => "i_dont_care", :sign_out => "get_out" } do
devise_for :accounts, :class_name => "Admin", :path_names => { :sign_in => "get_in" }
end
scope ":locale", :module => :invalid do
devise_for :accounts, :singular => "manager", :class_name => "Admin",
:path_names => {
:sign_in => "login", :sign_out => "logout",
:password => "secret", :confirmation => "verification",
:unlock => "unblock", :sign_up => "register",
:registration => "management", :cancel => "giveup"
}, :failure_app => lambda { |env| [404, {"Content-Type" => "text/plain"}, ["Oops, not found"]] }, :module => :devise
end
namespace :sign_out_via, :module => "devise" do
devise_for :deletes, :sign_out_via => :delete, :class_name => "Admin"
devise_for :posts, :sign_out_via => :post, :class_name => "Admin"
devise_for :delete_or_posts, :sign_out_via => [:delete, :post], :class_name => "Admin"
end
get "/set", :to => "home#set"
get "/unauthenticated", :to => "home#unauthenticated"
get "/custom_strategy/new"
root :to => "home#index", :via => [:get, :post]
end