rails_best_practices 1.19.0 → 1.19.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/Guardfile +2 -2
- data/Rakefile +8 -8
- data/bin/rails_best_practices +1 -1
- data/lib/rails_best_practices/analyzer.rb +45 -45
- data/lib/rails_best_practices/command.rb +40 -40
- data/lib/rails_best_practices/core/check.rb +15 -15
- data/lib/rails_best_practices/core/klasses.rb +1 -1
- data/lib/rails_best_practices/core/methods.rb +7 -7
- data/lib/rails_best_practices/core/model_associations.rb +3 -3
- data/lib/rails_best_practices/core/modules.rb +1 -1
- data/lib/rails_best_practices/core/routes.rb +2 -2
- data/lib/rails_best_practices/core/runner.rb +3 -3
- data/lib/rails_best_practices/core_ext/erubis.rb +4 -4
- data/lib/rails_best_practices/lexicals/remove_tab_check.rb +2 -2
- data/lib/rails_best_practices/lexicals/remove_trailing_whitespace_check.rb +2 -2
- data/lib/rails_best_practices/prepares/config_prepare.rb +1 -1
- data/lib/rails_best_practices/prepares/controller_prepare.rb +8 -8
- data/lib/rails_best_practices/prepares/helper_prepare.rb +1 -1
- data/lib/rails_best_practices/prepares/initializer_prepare.rb +4 -4
- data/lib/rails_best_practices/prepares/mailer_prepare.rb +1 -1
- data/lib/rails_best_practices/prepares/model_prepare.rb +19 -19
- data/lib/rails_best_practices/prepares/route_prepare.rb +34 -34
- data/lib/rails_best_practices/prepares/schema_prepare.rb +1 -1
- data/lib/rails_best_practices/reviews/add_model_virtual_attribute_review.rb +2 -2
- data/lib/rails_best_practices/reviews/always_add_db_index_review.rb +7 -7
- data/lib/rails_best_practices/reviews/check_save_return_value_review.rb +1 -1
- data/lib/rails_best_practices/reviews/default_scope_is_evil_review.rb +3 -3
- data/lib/rails_best_practices/reviews/dry_bundler_in_capistrano_review.rb +3 -3
- data/lib/rails_best_practices/reviews/hash_syntax_review.rb +1 -1
- data/lib/rails_best_practices/reviews/isolate_seed_data_review.rb +6 -6
- data/lib/rails_best_practices/reviews/keep_finders_on_their_own_model_review.rb +2 -2
- data/lib/rails_best_practices/reviews/law_of_demeter_review.rb +4 -4
- data/lib/rails_best_practices/reviews/move_code_into_controller_review.rb +3 -3
- data/lib/rails_best_practices/reviews/move_code_into_helper_review.rb +2 -2
- data/lib/rails_best_practices/reviews/move_code_into_model_review.rb +1 -1
- data/lib/rails_best_practices/reviews/move_finder_to_named_scope_review.rb +2 -2
- data/lib/rails_best_practices/reviews/move_model_logic_into_model_review.rb +1 -1
- data/lib/rails_best_practices/reviews/needless_deep_nesting_review.rb +4 -4
- data/lib/rails_best_practices/reviews/not_rescue_exception_review.rb +2 -2
- data/lib/rails_best_practices/reviews/not_use_default_route_review.rb +4 -4
- data/lib/rails_best_practices/reviews/not_use_time_ago_in_words_review.rb +3 -3
- data/lib/rails_best_practices/reviews/overuse_route_customizations_review.rb +2 -2
- data/lib/rails_best_practices/reviews/protect_mass_assignment_review.rb +9 -9
- data/lib/rails_best_practices/reviews/remove_empty_helpers_review.rb +3 -3
- data/lib/rails_best_practices/reviews/remove_unused_methods_in_controllers_review.rb +11 -11
- data/lib/rails_best_practices/reviews/remove_unused_methods_in_helpers_review.rb +1 -1
- data/lib/rails_best_practices/reviews/remove_unused_methods_in_models_review.rb +8 -7
- data/lib/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review.rb +2 -2
- data/lib/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review.rb +2 -2
- data/lib/rails_best_practices/reviews/restrict_auto_generated_routes_review.rb +22 -22
- data/lib/rails_best_practices/reviews/review.rb +2 -2
- data/lib/rails_best_practices/reviews/simplify_render_in_controllers_review.rb +3 -3
- data/lib/rails_best_practices/reviews/simplify_render_in_views_review.rb +4 -4
- data/lib/rails_best_practices/reviews/use_before_filter_review.rb +2 -2
- data/lib/rails_best_practices/reviews/use_model_association_review.rb +2 -2
- data/lib/rails_best_practices/reviews/use_multipart_alternative_as_content_type_of_email_review.rb +2 -2
- data/lib/rails_best_practices/reviews/use_observer_review.rb +3 -3
- data/lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb +1 -1
- data/lib/rails_best_practices/reviews/use_query_attribute_review.rb +3 -3
- data/lib/rails_best_practices/reviews/use_say_with_time_in_migrations_review.rb +2 -2
- data/lib/rails_best_practices/reviews/use_scope_access_review.rb +5 -5
- data/lib/rails_best_practices/reviews/use_turbo_sprockets_rails3_review.rb +4 -4
- data/lib/rails_best_practices/version.rb +1 -1
- data/rails_best_practices.gemspec +24 -24
- data/spec/rails_best_practices/analyzer_spec.rb +43 -43
- data/spec/rails_best_practices/core/check_spec.rb +2 -2
- data/spec/rails_best_practices/core/checks_loader_spec.rb +4 -4
- data/spec/rails_best_practices/core/error_spec.rb +16 -16
- data/spec/rails_best_practices/core/except_methods_spec.rb +15 -15
- data/spec/rails_best_practices/core/gems_spec.rb +9 -9
- data/spec/rails_best_practices/core/klasses_spec.rb +17 -17
- data/spec/rails_best_practices/core/methods_spec.rb +28 -28
- data/spec/rails_best_practices/core/model_associations_spec.rb +10 -10
- data/spec/rails_best_practices/core/model_attributes_spec.rb +10 -10
- data/spec/rails_best_practices/core/modules_spec.rb +10 -10
- data/spec/rails_best_practices/core/routes_spec.rb +10 -10
- data/spec/rails_best_practices/core/runner_spec.rb +4 -4
- data/spec/rails_best_practices/core_ext/erubis_spec.rb +7 -7
- data/spec/rails_best_practices/lexicals/long_line_check_spec.rb +7 -7
- data/spec/rails_best_practices/lexicals/remove_tab_check_spec.rb +6 -6
- data/spec/rails_best_practices/lexicals/remove_trailing_whitespace_check_spec.rb +6 -6
- data/spec/rails_best_practices/prepares/config_prepare_spec.rb +3 -3
- data/spec/rails_best_practices/prepares/controller_prepare_spec.rb +26 -26
- data/spec/rails_best_practices/prepares/gemfile_prepare_spec.rb +3 -3
- data/spec/rails_best_practices/prepares/helper_prepare_spec.rb +6 -6
- data/spec/rails_best_practices/prepares/initializer_prepare_spec.rb +5 -5
- data/spec/rails_best_practices/prepares/mailer_prepare_spec.rb +2 -2
- data/spec/rails_best_practices/prepares/model_prepare_spec.rb +108 -108
- data/spec/rails_best_practices/prepares/route_prepare_spec.rb +77 -77
- data/spec/rails_best_practices/prepares/schema_prepare_spec.rb +8 -8
- data/spec/rails_best_practices/reviews/add_model_virtual_attribute_review_spec.rb +10 -10
- data/spec/rails_best_practices/reviews/always_add_db_index_review_spec.rb +27 -27
- data/spec/rails_best_practices/reviews/check_destroy_return_value_review_spec.rb +11 -11
- data/spec/rails_best_practices/reviews/check_save_return_value_review_spec.rb +17 -17
- data/spec/rails_best_practices/reviews/default_scope_is_evil_review_spec.rb +6 -6
- data/spec/rails_best_practices/reviews/dry_bundler_in_capistrano_review_spec.rb +4 -4
- data/spec/rails_best_practices/reviews/hash_syntax_review_spec.rb +8 -8
- data/spec/rails_best_practices/reviews/isolate_seed_data_review_spec.rb +10 -10
- data/spec/rails_best_practices/reviews/keep_finders_on_their_own_model_review_spec.rb +9 -9
- data/spec/rails_best_practices/reviews/law_of_demeter_review_spec.rb +16 -16
- data/spec/rails_best_practices/reviews/move_code_into_controller_review_spec.rb +6 -6
- data/spec/rails_best_practices/reviews/move_code_into_helper_review_spec.rb +4 -4
- data/spec/rails_best_practices/reviews/move_code_into_model_review_spec.rb +13 -13
- data/spec/rails_best_practices/reviews/move_finder_to_named_scope_review_spec.rb +7 -7
- data/spec/rails_best_practices/reviews/move_model_logic_into_model_review_spec.rb +5 -5
- data/spec/rails_best_practices/reviews/needless_deep_nesting_review_spec.rb +10 -10
- data/spec/rails_best_practices/reviews/not_rescue_exception_review_spec.rb +8 -8
- data/spec/rails_best_practices/reviews/not_use_default_route_review_spec.rb +4 -4
- data/spec/rails_best_practices/reviews/not_use_time_ago_in_words_review_spec.rb +11 -11
- data/spec/rails_best_practices/reviews/overuse_route_customizations_review_spec.rb +7 -7
- data/spec/rails_best_practices/reviews/protect_mass_assignment_review_spec.rb +16 -16
- data/spec/rails_best_practices/reviews/remove_empty_helpers_review_spec.rb +5 -5
- data/spec/rails_best_practices/reviews/remove_unused_methods_in_controllers_review_spec.rb +33 -33
- data/spec/rails_best_practices/reviews/remove_unused_methods_in_helpers_review_spec.rb +7 -7
- data/spec/rails_best_practices/reviews/remove_unused_methods_in_models_review_spec.rb +106 -106
- data/spec/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review_spec.rb +5 -5
- data/spec/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review_spec.rb +8 -8
- data/spec/rails_best_practices/reviews/restrict_auto_generated_routes_review_spec.rb +29 -29
- data/spec/rails_best_practices/reviews/simplify_render_in_controllers_review_spec.rb +15 -15
- data/spec/rails_best_practices/reviews/simplify_render_in_views_review_spec.rb +15 -15
- data/spec/rails_best_practices/reviews/use_before_filter_review_spec.rb +7 -7
- data/spec/rails_best_practices/reviews/use_model_association_review_spec.rb +7 -7
- data/spec/rails_best_practices/reviews/use_multipart_alternative_as_content_type_of_email_review_spec.rb +29 -29
- data/spec/rails_best_practices/reviews/use_observer_review_spec.rb +6 -6
- data/spec/rails_best_practices/reviews/use_parentheses_in_method_def_review_spec.rb +5 -5
- data/spec/rails_best_practices/reviews/use_query_attribute_review_spec.rb +28 -28
- data/spec/rails_best_practices/reviews/use_say_with_time_in_migrations_review_spec.rb +9 -9
- data/spec/rails_best_practices/reviews/use_scope_access_review_spec.rb +23 -23
- data/spec/rails_best_practices/reviews/use_turbo_sprockets_rails3_review_spec.rb +6 -6
- data/spec/spec_helper.rb +1 -1
- metadata +7 -7
@@ -5,8 +5,8 @@ module RailsBestPractices
|
|
5
5
|
describe RoutePrepare do
|
6
6
|
let(:runner) { Core::Runner.new(prepares: RoutePrepare.new) }
|
7
7
|
|
8
|
-
context
|
9
|
-
it
|
8
|
+
context 'resources' do
|
9
|
+
it 'should add resources route' do
|
10
10
|
content =<<-EOF
|
11
11
|
RailsBestPracticesCom::Application.routes.draw do
|
12
12
|
resources :posts
|
@@ -15,10 +15,10 @@ module RailsBestPractices
|
|
15
15
|
runner.prepare('config/routes.rb', content)
|
16
16
|
routes = Prepares.routes
|
17
17
|
expect(routes.size).to eq(7)
|
18
|
-
expect(routes.map(&:to_s)).to eq([
|
18
|
+
expect(routes.map(&:to_s)).to eq(['PostsController#index', 'PostsController#show', 'PostsController#new', 'PostsController#create', 'PostsController#edit', 'PostsController#update', 'PostsController#destroy'])
|
19
19
|
end
|
20
20
|
|
21
|
-
it
|
21
|
+
it 'should add multiple resources route' do
|
22
22
|
content =<<-EOF
|
23
23
|
RailsBestPracticesCom::Application.routes.draw do
|
24
24
|
resources :posts, :users
|
@@ -29,7 +29,7 @@ module RailsBestPractices
|
|
29
29
|
expect(routes.size).to eq(14)
|
30
30
|
end
|
31
31
|
|
32
|
-
it
|
32
|
+
it 'should add resources route with explict controller' do
|
33
33
|
content =<<-EOF
|
34
34
|
RailsBestPracticesCom::Application.routes.draw do
|
35
35
|
resources :posts, controller: :blog_posts
|
@@ -38,10 +38,10 @@ module RailsBestPractices
|
|
38
38
|
runner.prepare('config/routes.rb', content)
|
39
39
|
routes = Prepares.routes
|
40
40
|
expect(routes.size).to eq(7)
|
41
|
-
expect(routes.map(&:to_s)).to eq([
|
41
|
+
expect(routes.map(&:to_s)).to eq(['BlogPostsController#index', 'BlogPostsController#show', 'BlogPostsController#new', 'BlogPostsController#create', 'BlogPostsController#edit', 'BlogPostsController#update', 'BlogPostsController#destroy'])
|
42
42
|
end
|
43
43
|
|
44
|
-
it
|
44
|
+
it 'should add resources route with only option' do
|
45
45
|
content =<<-EOF
|
46
46
|
RailsBestPracticesCom::Application.routes.draw do
|
47
47
|
resources :posts, only: [:index, :show, :new, :create]
|
@@ -50,10 +50,10 @@ module RailsBestPractices
|
|
50
50
|
runner.prepare('config/routes.rb', content)
|
51
51
|
routes = Prepares.routes
|
52
52
|
expect(routes.size).to eq(4)
|
53
|
-
expect(routes.map(&:to_s)).to eq([
|
53
|
+
expect(routes.map(&:to_s)).to eq(['PostsController#index', 'PostsController#show', 'PostsController#new', 'PostsController#create'])
|
54
54
|
end
|
55
55
|
|
56
|
-
it
|
56
|
+
it 'should add resources route with except option' do
|
57
57
|
content =<<-EOF
|
58
58
|
RailsBestPracticesCom::Application.routes.draw do
|
59
59
|
resources :posts, except: [:edit, :update, :destroy]
|
@@ -62,10 +62,10 @@ module RailsBestPractices
|
|
62
62
|
runner.prepare('config/routes.rb', content)
|
63
63
|
routes = Prepares.routes
|
64
64
|
expect(routes.size).to eq(4)
|
65
|
-
expect(routes.map(&:to_s)).to eq([
|
65
|
+
expect(routes.map(&:to_s)).to eq(['PostsController#index', 'PostsController#show', 'PostsController#new', 'PostsController#create'])
|
66
66
|
end
|
67
67
|
|
68
|
-
it
|
68
|
+
it 'should not add resources routes with only: :none' do
|
69
69
|
content =<<-EOF
|
70
70
|
RailsBestPracticesCom::Application.routes.draw do
|
71
71
|
resources :posts, only: :none
|
@@ -76,7 +76,7 @@ module RailsBestPractices
|
|
76
76
|
expect(routes.size).to eq(0)
|
77
77
|
end
|
78
78
|
|
79
|
-
it
|
79
|
+
it 'should not add resources routes with except: :all' do
|
80
80
|
content =<<-EOF
|
81
81
|
RailsBestPracticesCom::Application.routes.draw do
|
82
82
|
resources :posts, except: :all
|
@@ -87,7 +87,7 @@ module RailsBestPractices
|
|
87
87
|
expect(routes.size).to eq(0)
|
88
88
|
end
|
89
89
|
|
90
|
-
it
|
90
|
+
it 'should add resources routes with members' do
|
91
91
|
content =<<-EOF
|
92
92
|
RailsBestPracticesCom::Application.routes.draw do
|
93
93
|
namespace :admin do
|
@@ -103,13 +103,13 @@ module RailsBestPractices
|
|
103
103
|
runner.prepare('config/routes.rb', content)
|
104
104
|
routes = Prepares.routes
|
105
105
|
expect(routes.map(&:to_s)).to eq([
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
106
|
+
'Admin::PostsController#edit',
|
107
|
+
'Admin::PostsController#update',
|
108
|
+
'Admin::PostsController#link_to_post',
|
109
|
+
'Admin::PostsController#extra_update'])
|
110
110
|
end
|
111
111
|
|
112
|
-
it
|
112
|
+
it 'should add resources routes with members inline' do
|
113
113
|
content =<<-EOF
|
114
114
|
RailsBestPracticesCom::Application.routes.draw do
|
115
115
|
namespace :admin do
|
@@ -122,14 +122,14 @@ module RailsBestPractices
|
|
122
122
|
runner.prepare('config/routes.rb', content)
|
123
123
|
routes = Prepares.routes
|
124
124
|
expect(routes.map(&:to_s)).to eq([
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
125
|
+
'Admin::PostsController#edit',
|
126
|
+
'Admin::PostsController#update',
|
127
|
+
'Admin::PostsController#link_to_post',
|
128
|
+
'Admin::PostsController#extra_update',
|
129
|
+
'Admin::PostsController#retrieve'])
|
130
130
|
end
|
131
131
|
|
132
|
-
it
|
132
|
+
it 'should add connect route' do
|
133
133
|
content =<<-EOF
|
134
134
|
ActionController::Routing::Routes.draw do |map|
|
135
135
|
map.connect 'vote', controller: "votes", action: "create", method: :post
|
@@ -137,10 +137,10 @@ module RailsBestPractices
|
|
137
137
|
EOF
|
138
138
|
runner.prepare('config/routes.rb', content)
|
139
139
|
routes = Prepares.routes
|
140
|
-
expect(routes.map(&:to_s)).to eq([
|
140
|
+
expect(routes.map(&:to_s)).to eq(['VotesController#create'])
|
141
141
|
end
|
142
142
|
|
143
|
-
it
|
143
|
+
it 'should add named route' do
|
144
144
|
content =<<-EOF
|
145
145
|
ActionController::Routing::Routes.draw do |map|
|
146
146
|
map.login '/player/login', controller: 'sessions', action: 'new', conditions: { method: :get }
|
@@ -148,12 +148,12 @@ module RailsBestPractices
|
|
148
148
|
EOF
|
149
149
|
runner.prepare('config/routes.rb', content)
|
150
150
|
routes = Prepares.routes
|
151
|
-
expect(routes.map(&:to_s)).to eq([
|
151
|
+
expect(routes.map(&:to_s)).to eq(['SessionsController#new'])
|
152
152
|
end
|
153
153
|
end
|
154
154
|
|
155
|
-
context
|
156
|
-
it
|
155
|
+
context 'resource' do
|
156
|
+
it 'should add resource route' do
|
157
157
|
content =<<-EOF
|
158
158
|
RailsBestPracticesCom::Application.routes.draw do
|
159
159
|
resource :posts
|
@@ -162,10 +162,10 @@ module RailsBestPractices
|
|
162
162
|
runner.prepare('config/routes.rb', content)
|
163
163
|
routes = Prepares.routes
|
164
164
|
expect(routes.size).to eq(6)
|
165
|
-
expect(routes.map(&:to_s)).to eq([
|
165
|
+
expect(routes.map(&:to_s)).to eq(['PostsController#show', 'PostsController#new', 'PostsController#create', 'PostsController#edit', 'PostsController#update', 'PostsController#destroy'])
|
166
166
|
end
|
167
167
|
|
168
|
-
it
|
168
|
+
it 'should add multiple resource route' do
|
169
169
|
content =<<-EOF
|
170
170
|
RailsBestPracticesCom::Application.routes.draw do
|
171
171
|
resource :posts, :users
|
@@ -176,7 +176,7 @@ module RailsBestPractices
|
|
176
176
|
expect(routes.size).to eq(12)
|
177
177
|
end
|
178
178
|
|
179
|
-
it
|
179
|
+
it 'should add resource route with only option' do
|
180
180
|
content =<<-EOF
|
181
181
|
RailsBestPracticesCom::Application.routes.draw do
|
182
182
|
resource :posts, only: [:show, :new, :create]
|
@@ -185,10 +185,10 @@ module RailsBestPractices
|
|
185
185
|
runner.prepare('config/routes.rb', content)
|
186
186
|
routes = Prepares.routes
|
187
187
|
expect(routes.size).to eq(3)
|
188
|
-
expect(routes.map(&:to_s)).to eq([
|
188
|
+
expect(routes.map(&:to_s)).to eq(['PostsController#show', 'PostsController#new', 'PostsController#create'])
|
189
189
|
end
|
190
190
|
|
191
|
-
it
|
191
|
+
it 'should add resource route with except option' do
|
192
192
|
content =<<-EOF
|
193
193
|
RailsBestPracticesCom::Application.routes.draw do
|
194
194
|
resource :posts, except: [:edit, :update, :destroy]
|
@@ -197,10 +197,10 @@ module RailsBestPractices
|
|
197
197
|
runner.prepare('config/routes.rb', content)
|
198
198
|
routes = Prepares.routes
|
199
199
|
expect(routes.size).to eq(3)
|
200
|
-
expect(routes.map(&:to_s)).to eq([
|
200
|
+
expect(routes.map(&:to_s)).to eq(['PostsController#show', 'PostsController#new', 'PostsController#create'])
|
201
201
|
end
|
202
202
|
|
203
|
-
it
|
203
|
+
it 'should not add resource routes with only: :none' do
|
204
204
|
content =<<-EOF
|
205
205
|
RailsBestPracticesCom::Application.routes.draw do
|
206
206
|
resource :posts, only: :none
|
@@ -211,7 +211,7 @@ module RailsBestPractices
|
|
211
211
|
expect(routes.size).to eq(0)
|
212
212
|
end
|
213
213
|
|
214
|
-
it
|
214
|
+
it 'should not add resource routes with except: :all' do
|
215
215
|
content =<<-EOF
|
216
216
|
RailsBestPracticesCom::Application.routes.draw do
|
217
217
|
resource :posts, except: :all
|
@@ -222,7 +222,7 @@ module RailsBestPractices
|
|
222
222
|
expect(routes.size).to eq(0)
|
223
223
|
end
|
224
224
|
|
225
|
-
it
|
225
|
+
it 'should add resource routes with get/post/put/patch/delete routes' do
|
226
226
|
content =<<-EOF
|
227
227
|
RailsBestPracticesCom::Application.routes.draw do
|
228
228
|
resources :posts, only: [:show] do
|
@@ -242,10 +242,10 @@ module RailsBestPractices
|
|
242
242
|
runner.prepare('config/routes.rb', content)
|
243
243
|
routes = Prepares.routes
|
244
244
|
expect(routes.size).to eq(7)
|
245
|
-
expect(routes.map(&:to_s)).to eq([
|
245
|
+
expect(routes.map(&:to_s)).to eq(['PostsController#show', 'PostsController#list', 'PostsController#search', 'PostsController#available', 'PostsController#create', 'PostsController#update', 'PostsController#update'])
|
246
246
|
end
|
247
247
|
|
248
|
-
it
|
248
|
+
it 'should add custom resources routes with {}' do
|
249
249
|
content =<<-EOF
|
250
250
|
RailsBestPracticesCom::Application.routes.draw do
|
251
251
|
resources :posts, only: [:show] { get :inactive, on: :collection }
|
@@ -254,10 +254,10 @@ module RailsBestPractices
|
|
254
254
|
runner.prepare('config/routes.rb', content)
|
255
255
|
routes = Prepares.routes
|
256
256
|
expect(routes.size).to eq(2)
|
257
|
-
expect(routes.map(&:to_s)).to eq([
|
257
|
+
expect(routes.map(&:to_s)).to eq(['PostsController#show', 'PostsController#inactive'])
|
258
258
|
end
|
259
259
|
|
260
|
-
it
|
260
|
+
it 'should add resources routes with get %w() routes' do
|
261
261
|
content =<<-EOF
|
262
262
|
RailsBestPracticesCom::Application.routes.draw do
|
263
263
|
resources :posts, only: [:show] do
|
@@ -270,10 +270,10 @@ module RailsBestPractices
|
|
270
270
|
runner.prepare('config/routes.rb', content)
|
271
271
|
routes = Prepares.routes
|
272
272
|
expect(routes.size).to eq(3)
|
273
|
-
expect(routes.map(&:to_s)).to eq([
|
273
|
+
expect(routes.map(&:to_s)).to eq(['PostsController#show', 'PostsController#latest', 'PostsController#popular'])
|
274
274
|
end
|
275
275
|
|
276
|
-
it
|
276
|
+
it 'should add route with nested routes' do
|
277
277
|
content =<<-EOF
|
278
278
|
RailsBestPracticesCom::Application.routes.draw do
|
279
279
|
resources :posts
|
@@ -286,7 +286,7 @@ module RailsBestPractices
|
|
286
286
|
expect(routes.size).to eq(14)
|
287
287
|
end
|
288
288
|
|
289
|
-
it
|
289
|
+
it 'should add route with namespace' do
|
290
290
|
content =<<-EOF
|
291
291
|
RailsBestPracticesCom::Application.routes.draw do
|
292
292
|
namespace :admin do
|
@@ -298,10 +298,10 @@ module RailsBestPractices
|
|
298
298
|
EOF
|
299
299
|
runner.prepare('config/routes.rb', content)
|
300
300
|
routes = Prepares.routes
|
301
|
-
expect(routes.map(&:to_s)).to eq([
|
301
|
+
expect(routes.map(&:to_s)).to eq(['Admin::Test::PostsController#index'])
|
302
302
|
end
|
303
303
|
|
304
|
-
it
|
304
|
+
it 'should add route with namespace, but without resources' do
|
305
305
|
content =<<-EOF
|
306
306
|
RailsBestPracticesCom::Appllication.routes.draw do
|
307
307
|
namespace :something do
|
@@ -312,10 +312,10 @@ module RailsBestPractices
|
|
312
312
|
EOF
|
313
313
|
runner.prepare('config/routes.rb', content)
|
314
314
|
routes = Prepares.routes
|
315
|
-
expect(routes.map(&:to_s)).to eq([
|
315
|
+
expect(routes.map(&:to_s)).to eq(['SomethingController#route_one', 'SomethingController#route_two', 'SomethingController#custom_action'])
|
316
316
|
end
|
317
317
|
|
318
|
-
it
|
318
|
+
it 'should add route with scope' do
|
319
319
|
content =<<-EOF
|
320
320
|
RailsBestPracticesCom::Application.routes.draw do
|
321
321
|
scope module: "admin" do
|
@@ -336,16 +336,16 @@ module RailsBestPractices
|
|
336
336
|
runner.prepare('config/routes.rb', content)
|
337
337
|
routes = Prepares.routes
|
338
338
|
expect(routes.map(&:to_s)).to eq([
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
339
|
+
'Admin::PostsController#index',
|
340
|
+
'Admin::DiscussionsController#index',
|
341
|
+
'CommentsController#index',
|
342
|
+
'UsersController#show',
|
343
|
+
'UsersController#preview'
|
344
344
|
])
|
345
345
|
end
|
346
346
|
end
|
347
347
|
|
348
|
-
it
|
348
|
+
it 'should add route for direct get/post' do
|
349
349
|
content =<<-EOF
|
350
350
|
RailsBestPracticesCom::Application.routes.draw do
|
351
351
|
get 'posts/show'
|
@@ -358,10 +358,10 @@ module RailsBestPractices
|
|
358
358
|
runner.prepare('config/routes.rb', content)
|
359
359
|
routes = Prepares.routes
|
360
360
|
expect(routes.size).to eq(5)
|
361
|
-
expect(routes.map(&:to_s)).to eq([
|
361
|
+
expect(routes.map(&:to_s)).to eq(['PostsController#show', 'PostsController#create', 'PostsController#update', 'PostsController#destroy', 'HighVoltage::PagesController#show'])
|
362
362
|
end
|
363
363
|
|
364
|
-
it
|
364
|
+
it 'should add routes for another get/post' do
|
365
365
|
content =<<-EOF
|
366
366
|
RailsBestPracticesCom::Application.routes.draw
|
367
367
|
get "/login", to: 'sessions#new', as: :login
|
@@ -370,10 +370,10 @@ module RailsBestPractices
|
|
370
370
|
runner.prepare('config/routes.rb', content)
|
371
371
|
routes = Prepares.routes
|
372
372
|
expect(routes.size).to eq(1)
|
373
|
-
expect(routes.first.to_s).to eq(
|
373
|
+
expect(routes.first.to_s).to eq('SessionsController#new')
|
374
374
|
end
|
375
375
|
|
376
|
-
it
|
376
|
+
it 'should add match route' do
|
377
377
|
content =<<-EOF
|
378
378
|
RailsBestPracticesCom::Application.routes.draw do
|
379
379
|
match '/auth/:provider/callback' => 'authentications#create'
|
@@ -381,10 +381,10 @@ module RailsBestPractices
|
|
381
381
|
EOF
|
382
382
|
runner.prepare('config/routes.rb', content)
|
383
383
|
routes = Prepares.routes
|
384
|
-
expect(routes.map(&:to_s)).to eq([
|
384
|
+
expect(routes.map(&:to_s)).to eq(['AuthenticationsController#create'])
|
385
385
|
end
|
386
386
|
|
387
|
-
it
|
387
|
+
it 'should add match route with all actions' do
|
388
388
|
content =<<-EOF
|
389
389
|
RailsBestPracticesCom::Application.routes.draw do
|
390
390
|
match 'internal/:action/*whatever', controller: "internal"
|
@@ -392,10 +392,10 @@ module RailsBestPractices
|
|
392
392
|
EOF
|
393
393
|
runner.prepare('config/routes.rb', content)
|
394
394
|
routes = Prepares.routes
|
395
|
-
expect(routes.map(&:to_s)).to eq([
|
395
|
+
expect(routes.map(&:to_s)).to eq(['InternalController#*'])
|
396
396
|
end
|
397
397
|
|
398
|
-
it
|
398
|
+
it 'should add root route' do
|
399
399
|
content =<<-EOF
|
400
400
|
RailsBestPracticesCom::Application.routes.draw do
|
401
401
|
root to: 'home#index'
|
@@ -403,10 +403,10 @@ module RailsBestPractices
|
|
403
403
|
EOF
|
404
404
|
runner.prepare('config/routes.rb', content)
|
405
405
|
routes = Prepares.routes
|
406
|
-
expect(routes.map(&:to_s)).to eq([
|
406
|
+
expect(routes.map(&:to_s)).to eq(['HomeController#index'])
|
407
407
|
end
|
408
408
|
|
409
|
-
it
|
409
|
+
it 'should add root shortcut route' do
|
410
410
|
content =<<-EOF
|
411
411
|
RailsBestPracticesCom::Application.routes.draw do
|
412
412
|
root 'home#index'
|
@@ -414,10 +414,10 @@ module RailsBestPractices
|
|
414
414
|
EOF
|
415
415
|
runner.prepare('config/routes.rb', content)
|
416
416
|
routes = Prepares.routes
|
417
|
-
expect(routes.map(&:to_s)).to eq([
|
417
|
+
expect(routes.map(&:to_s)).to eq(['HomeController#index'])
|
418
418
|
end
|
419
419
|
|
420
|
-
it
|
420
|
+
it 'should do nothing for default route' do
|
421
421
|
content =<<-EOF
|
422
422
|
RailsBestPracticesCom::Application.routes.draw do
|
423
423
|
match ':controller(/:action(/:id(.:format)))'
|
@@ -428,7 +428,7 @@ module RailsBestPractices
|
|
428
428
|
expect(routes.size).to eq(0)
|
429
429
|
end
|
430
430
|
|
431
|
-
it
|
431
|
+
it 'should do nothing for redirect' do
|
432
432
|
content =<<-EOF
|
433
433
|
RailsBestPracticesCom::Application.routes.draw do
|
434
434
|
match "/stories/:name" => redirect("/posts/%{name}")
|
@@ -440,7 +440,7 @@ module RailsBestPractices
|
|
440
440
|
expect(routes.size).to eq(0)
|
441
441
|
end
|
442
442
|
|
443
|
-
it
|
443
|
+
it 'should parse customize route in nested resources' do
|
444
444
|
content =<<-EOF
|
445
445
|
RailsBestPracticesCom::Application.routes.draw do
|
446
446
|
resources :posts do
|
@@ -451,10 +451,10 @@ module RailsBestPractices
|
|
451
451
|
EOF
|
452
452
|
runner.prepare('config/routes.rb', content)
|
453
453
|
routes = Prepares.routes
|
454
|
-
expect(routes.last.to_s).to eq(
|
454
|
+
expect(routes.last.to_s).to eq('PostsController#stop')
|
455
455
|
end
|
456
456
|
|
457
|
-
it
|
457
|
+
it 'should parse custom route for resource with explicit to and different action name' do
|
458
458
|
content =<<-EOF
|
459
459
|
RailsBestPracticesCom::Application.routes.draw do
|
460
460
|
resources :posts do
|
@@ -464,10 +464,10 @@ module RailsBestPractices
|
|
464
464
|
EOF
|
465
465
|
runner.prepare('config/routes.rb', content)
|
466
466
|
routes = Prepares.routes
|
467
|
-
expect(routes.last.to_s).to eq(
|
467
|
+
expect(routes.last.to_s).to eq('PostsController#stop')
|
468
468
|
end
|
469
469
|
|
470
|
-
it
|
470
|
+
it 'should parse custom route for resource with symbol action name' do
|
471
471
|
content =<<-EOF
|
472
472
|
RailsBestPracticesCom::Application.routes.draw do
|
473
473
|
resources :posts do
|
@@ -477,10 +477,10 @@ module RailsBestPractices
|
|
477
477
|
EOF
|
478
478
|
runner.prepare('config/routes.rb', content)
|
479
479
|
routes = Prepares.routes
|
480
|
-
expect(routes.last.to_s).to eq(
|
480
|
+
expect(routes.last.to_s).to eq('PostsController#stop')
|
481
481
|
end
|
482
482
|
|
483
|
-
it
|
483
|
+
it 'should not take former resources for direct get/post' do
|
484
484
|
content =<<-EOF
|
485
485
|
RailsBestPracticesCom::Application.routes.draw do
|
486
486
|
resources :posts
|
@@ -489,10 +489,10 @@ module RailsBestPractices
|
|
489
489
|
EOF
|
490
490
|
runner.prepare('config/routes.rb', content)
|
491
491
|
routes = Prepares.routes
|
492
|
-
expect(routes.last.to_s).to eq(
|
492
|
+
expect(routes.last.to_s).to eq('SprintsController#stop')
|
493
493
|
end
|
494
494
|
|
495
|
-
it
|
495
|
+
it 'should not parse wrong route' do
|
496
496
|
content =<<-EOF
|
497
497
|
RailsBestPracticesCom::Application.routes.draw do
|
498
498
|
match ':controller/:action' => '#index', as: :auto_complete
|