rails_best_practices 1.9.1 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.rvmrc +1 -1
- data/Gemfile +1 -1
- data/Gemfile.lock +10 -2
- data/README.md +33 -27
- data/lib/rails_best_practices/analyzer.rb +13 -13
- data/lib/rails_best_practices/core/check.rb +7 -6
- data/lib/rails_best_practices/core/checking_visitor.rb +1 -1
- data/lib/rails_best_practices/core/runner.rb +2 -3
- data/lib/rails_best_practices/core_ext/sexp.rb +18 -17
- data/lib/rails_best_practices/lexicals.rb +1 -0
- data/lib/rails_best_practices/lexicals/long_line_check.rb +31 -0
- data/lib/rails_best_practices/prepares/config_prepare.rb +1 -1
- data/lib/rails_best_practices/reviews.rb +2 -0
- 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 +1 -1
- data/lib/rails_best_practices/reviews/hash_syntax_review.rb +63 -0
- data/lib/rails_best_practices/reviews/keep_finders_on_their_own_model_review.rb +1 -1
- 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 +1 -1
- 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 +1 -1
- data/lib/rails_best_practices/reviews/overuse_route_customizations_review.rb +1 -1
- data/lib/rails_best_practices/reviews/protect_mass_assignment_review.rb +15 -6
- data/lib/rails_best_practices/reviews/remove_unused_methods_in_models_review.rb +4 -2
- data/lib/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review.rb +8 -4
- data/lib/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review.rb +2 -1
- data/lib/rails_best_practices/reviews/restrict_auto_generated_routes_review.rb +52 -8
- data/lib/rails_best_practices/reviews/simplify_render_in_views_review.rb +14 -2
- data/lib/rails_best_practices/reviews/use_before_filter_review.rb +8 -3
- data/lib/rails_best_practices/reviews/use_multipart_alternative_as_content_type_of_email_review.rb +2 -1
- data/lib/rails_best_practices/reviews/use_observer_review.rb +1 -1
- data/lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb +33 -0
- data/lib/rails_best_practices/reviews/use_query_attribute_review.rb +16 -6
- data/lib/rails_best_practices/reviews/use_say_with_time_in_migrations_review.rb +9 -6
- data/lib/rails_best_practices/reviews/use_scope_access_review.rb +8 -3
- data/lib/rails_best_practices/version.rb +1 -1
- data/rails_best_practices.yml +28 -25
- data/rake_rubies.sh +1 -1
- data/spec/rails_best_practices/analyzer_spec.rb +1 -1
- data/spec/rails_best_practices/core/check_spec.rb +7 -7
- data/spec/rails_best_practices/core/checking_visitor_spec.rb +7 -7
- data/spec/rails_best_practices/core/error_spec.rb +12 -12
- data/spec/rails_best_practices/core_ext/sexp_spec.rb +103 -85
- data/spec/rails_best_practices/lexicals/long_line_check_spec.rb +47 -0
- data/spec/rails_best_practices/lexicals/remove_tab_check_spec.rb +1 -1
- data/spec/rails_best_practices/lexicals/remove_trailing_whitespace_check_spec.rb +1 -1
- data/spec/rails_best_practices/prepares/config_prepare_spec.rb +1 -1
- data/spec/rails_best_practices/prepares/controller_prepare_spec.rb +1 -1
- data/spec/rails_best_practices/prepares/helper_prepare_spec.rb +1 -1
- data/spec/rails_best_practices/prepares/mailer_prepare_spec.rb +1 -1
- data/spec/rails_best_practices/prepares/model_prepare_spec.rb +4 -4
- data/spec/rails_best_practices/prepares/route_prepare_spec.rb +54 -54
- data/spec/rails_best_practices/prepares/schema_prepare_spec.rb +6 -6
- data/spec/rails_best_practices/reviews/add_model_virtual_attribute_review_spec.rb +4 -4
- data/spec/rails_best_practices/reviews/always_add_db_index_review_spec.rb +46 -46
- data/spec/rails_best_practices/reviews/dry_bundler_in_capistrano_review_spec.rb +3 -3
- data/spec/rails_best_practices/reviews/hash_syntax_review_spec.rb +67 -0
- data/spec/rails_best_practices/reviews/isolate_seed_data_review_spec.rb +8 -8
- 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 +7 -7
- data/spec/rails_best_practices/reviews/move_code_into_controller_review_spec.rb +1 -1
- data/spec/rails_best_practices/reviews/move_code_into_helper_review_spec.rb +1 -1
- data/spec/rails_best_practices/reviews/move_code_into_model_review_spec.rb +1 -1
- data/spec/rails_best_practices/reviews/move_finder_to_named_scope_review_spec.rb +13 -13
- data/spec/rails_best_practices/reviews/move_model_logic_into_model_review_spec.rb +2 -2
- data/spec/rails_best_practices/reviews/needless_deep_nesting_review_spec.rb +3 -3
- data/spec/rails_best_practices/reviews/not_use_default_route_review_spec.rb +3 -3
- data/spec/rails_best_practices/reviews/not_use_times_ago_in_words_review_spec.rb +1 -1
- data/spec/rails_best_practices/reviews/overuse_route_customizations_review_spec.rb +26 -26
- data/spec/rails_best_practices/reviews/protect_mass_assignment_review_spec.rb +11 -2
- data/spec/rails_best_practices/reviews/remove_empty_helpers_review_spec.rb +1 -1
- data/spec/rails_best_practices/reviews/remove_unused_methods_in_controllers_review_spec.rb +8 -8
- data/spec/rails_best_practices/reviews/remove_unused_methods_in_helpers_review_spec.rb +2 -2
- data/spec/rails_best_practices/reviews/remove_unused_methods_in_models_review_spec.rb +25 -10
- data/spec/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review_spec.rb +3 -3
- data/spec/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review_spec.rb +1 -1
- data/spec/rails_best_practices/reviews/restrict_auto_generated_routes_review_spec.rb +28 -28
- data/spec/rails_best_practices/reviews/simplify_render_in_controllers_review_spec.rb +4 -4
- data/spec/rails_best_practices/reviews/simplify_render_in_views_review_spec.rb +15 -7
- data/spec/rails_best_practices/reviews/use_before_filter_review_spec.rb +3 -3
- data/spec/rails_best_practices/reviews/use_model_association_review_spec.rb +3 -3
- data/spec/rails_best_practices/reviews/use_multipart_alternative_as_content_type_of_email_review_spec.rb +3 -3
- data/spec/rails_best_practices/reviews/use_observer_review_spec.rb +5 -5
- data/spec/rails_best_practices/reviews/use_parenthesis_in_method_def_spec.rb +41 -0
- data/spec/rails_best_practices/reviews/use_query_attribute_review_spec.rb +3 -3
- data/spec/rails_best_practices/reviews/use_say_with_time_in_migrations_review_spec.rb +8 -8
- data/spec/rails_best_practices/reviews/use_scope_access_review_spec.rb +9 -9
- data/spec/spec_helper.rb +1 -1
- metadata +36 -29
- data/.rspec.example +0 -2
- data/.rvmrc.example +0 -2
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module RailsBestPractices
|
4
|
+
module Lexicals
|
5
|
+
describe LongLineCheck do
|
6
|
+
|
7
|
+
it "should find long lines" do
|
8
|
+
runner = Core::Runner.new(lexicals: LongLineCheck.new)
|
9
|
+
content =<<-EOF
|
10
|
+
class User < ActiveRecord::Base
|
11
|
+
# 81 Chars
|
12
|
+
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
13
|
+
# 80 Chars
|
14
|
+
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
15
|
+
end
|
16
|
+
EOF
|
17
|
+
content.gsub!("\n", "\t\n")
|
18
|
+
runner.lexical('app/models/user.rb', content)
|
19
|
+
runner.should have(1).errors
|
20
|
+
runner.errors[0].to_s.should == "app/models/user.rb:3 - line is longer than 80 characters (81 characters)"
|
21
|
+
end
|
22
|
+
it "should find long lines with own max size" do
|
23
|
+
runner = Core::Runner.new(lexicals: LongLineCheck.new('max_line_length' => 90))
|
24
|
+
content =<<-EOF
|
25
|
+
class User < ActiveRecord::Base
|
26
|
+
# 91 Chars
|
27
|
+
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
28
|
+
# 90 Chars
|
29
|
+
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
30
|
+
end
|
31
|
+
EOF
|
32
|
+
content.gsub!("\n", "\t\n")
|
33
|
+
runner.lexical('app/models/user.rb', content)
|
34
|
+
runner.should have(1).errors
|
35
|
+
runner.errors[0].to_s.should == "app/models/user.rb:3 - line is longer than 90 characters (91 characters)"
|
36
|
+
end
|
37
|
+
it "should not check non .rb files" do
|
38
|
+
runner = Core::Runner.new(lexicals: LongLineCheck.new)
|
39
|
+
content = "
|
40
|
+
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
41
|
+
"
|
42
|
+
runner.lexical('app/views/users/index.html.erb', content)
|
43
|
+
runner.should have(0).errors
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
module RailsBestPractices
|
4
4
|
module Lexicals
|
5
5
|
describe RemoveTabCheck do
|
6
|
-
let(:runner) { Core::Runner.new(:
|
6
|
+
let(:runner) { Core::Runner.new(lexicals: RemoveTabCheck.new) }
|
7
7
|
|
8
8
|
it "should remove tab" do
|
9
9
|
content =<<-EOF
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
module RailsBestPractices
|
4
4
|
module Lexicals
|
5
5
|
describe RemoveTrailingWhitespaceCheck do
|
6
|
-
let(:runner) { Core::Runner.new(:
|
6
|
+
let(:runner) { Core::Runner.new(lexicals: RemoveTrailingWhitespaceCheck.new) }
|
7
7
|
|
8
8
|
it "should remove trailing whitespace" do
|
9
9
|
content =<<-EOF
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
module RailsBestPractices
|
4
4
|
module Prepares
|
5
5
|
describe ConfigPrepare do
|
6
|
-
let(:runner) { Core::Runner.new(:
|
6
|
+
let(:runner) { Core::Runner.new(prepares: ConfigPrepare.new) }
|
7
7
|
|
8
8
|
context "configs" do
|
9
9
|
it "should parse configs" do
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
module RailsBestPractices
|
4
4
|
module Prepares
|
5
5
|
describe ControllerPrepare do
|
6
|
-
let(:runner) { Core::Runner.new(:
|
6
|
+
let(:runner) { Core::Runner.new(prepares: [ControllerPrepare.new, HelperPrepare.new]) }
|
7
7
|
before(:each) { runner.whiny = true }
|
8
8
|
|
9
9
|
context "methods" do
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
module RailsBestPractices
|
4
4
|
module Prepares
|
5
5
|
describe HelperPrepare do
|
6
|
-
let(:runner) { Core::Runner.new(:
|
6
|
+
let(:runner) { Core::Runner.new(prepares: HelperPrepare.new) }
|
7
7
|
|
8
8
|
context "methods" do
|
9
9
|
it "should parse helper methods" do
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
module RailsBestPractices
|
4
4
|
module Prepares
|
5
5
|
describe MailerPrepare do
|
6
|
-
let(:runner) { Core::Runner.new(:
|
6
|
+
let(:runner) { Core::Runner.new(prepares: MailerPrepare.new) }
|
7
7
|
|
8
8
|
it "should parse mailer names" do
|
9
9
|
content =<<-EOF
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
module RailsBestPractices
|
4
4
|
module Prepares
|
5
5
|
describe ModelPrepare do
|
6
|
-
let(:runner) { Core::Runner.new(:
|
6
|
+
let(:runner) { Core::Runner.new(prepares: ModelPrepare.new) }
|
7
7
|
|
8
8
|
before :each do
|
9
9
|
runner.whiny = true
|
@@ -267,7 +267,7 @@ module RailsBestPractices
|
|
267
267
|
it "should treat named_scope as method" do
|
268
268
|
content =<<-EOF
|
269
269
|
class Post < ActiveRecord::Base
|
270
|
-
named_scope :active, :
|
270
|
+
named_scope :active, conditions: {active: true}
|
271
271
|
end
|
272
272
|
EOF
|
273
273
|
runner.prepare("app/models/post.rb", content)
|
@@ -278,7 +278,7 @@ module RailsBestPractices
|
|
278
278
|
it "should treat scope as method" do
|
279
279
|
content =<<-EOF
|
280
280
|
class Post < ActiveRecord::Base
|
281
|
-
scope :active, where(:
|
281
|
+
scope :active, where(active: true)
|
282
282
|
end
|
283
283
|
EOF
|
284
284
|
runner.prepare("app/models/post.rb", content)
|
@@ -370,7 +370,7 @@ module RailsBestPractices
|
|
370
370
|
it "should raised for finder_sql option" do
|
371
371
|
content =<<-EOF
|
372
372
|
class EventSubscription < ActiveRecord::Base
|
373
|
-
has_many :event_notification_template, :
|
373
|
+
has_many :event_notification_template, finder_sql: ?
|
374
374
|
end
|
375
375
|
EOF
|
376
376
|
content.sub!('?', '\'SELECT event_notification_templates.* from event_notification_templates where event_type_id=#{event_type_id} and delivery_method_id=#{delivery_method_id}\'')
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
module RailsBestPractices
|
4
4
|
module Prepares
|
5
5
|
describe RoutePrepare do
|
6
|
-
let(:runner) { Core::Runner.new(:
|
6
|
+
let(:runner) { Core::Runner.new(prepares: RoutePrepare.new) }
|
7
7
|
|
8
8
|
context "rails2" do
|
9
9
|
context "resources" do
|
@@ -33,7 +33,7 @@ module RailsBestPractices
|
|
33
33
|
it "should add resources route with explict controller" do
|
34
34
|
content =<<-EOF
|
35
35
|
ActionController::Routing::Routes.draw do |map|
|
36
|
-
map.resources :posts, :
|
36
|
+
map.resources :posts, controller: :blog_posts
|
37
37
|
end
|
38
38
|
EOF
|
39
39
|
runner.prepare('config/routes.rb', content)
|
@@ -45,7 +45,7 @@ module RailsBestPractices
|
|
45
45
|
it "should add resources route with only option" do
|
46
46
|
content =<<-EOF
|
47
47
|
ActionController::Routing::Routes.draw do |map|
|
48
|
-
map.resources :posts, :
|
48
|
+
map.resources :posts, only: [:index, :show, :new, :create]
|
49
49
|
end
|
50
50
|
EOF
|
51
51
|
runner.prepare('config/routes.rb', content)
|
@@ -57,7 +57,7 @@ module RailsBestPractices
|
|
57
57
|
it "should add resources route with except option" do
|
58
58
|
content =<<-EOF
|
59
59
|
ActionController::Routing::Routes.draw do |map|
|
60
|
-
map.resources :posts, :
|
60
|
+
map.resources :posts, except: [:edit, :update, :destroy]
|
61
61
|
end
|
62
62
|
EOF
|
63
63
|
runner.prepare('config/routes.rb', content)
|
@@ -66,10 +66,10 @@ module RailsBestPractices
|
|
66
66
|
routes.map(&:to_s).should == ["PostsController#index", "PostsController#show", "PostsController#new", "PostsController#create"]
|
67
67
|
end
|
68
68
|
|
69
|
-
it "should not add resources routes with :
|
69
|
+
it "should not add resources routes with only: :none" do
|
70
70
|
content =<<-EOF
|
71
71
|
ActionController::Routing::Routes.draw do |map|
|
72
|
-
map.resources :posts, :
|
72
|
+
map.resources :posts, only: :none
|
73
73
|
end
|
74
74
|
EOF
|
75
75
|
runner.prepare('config/routes.rb', content)
|
@@ -77,10 +77,10 @@ module RailsBestPractices
|
|
77
77
|
routes.size.should == 0
|
78
78
|
end
|
79
79
|
|
80
|
-
it "should not add resources routes with :
|
80
|
+
it "should not add resources routes with except: :all" do
|
81
81
|
content =<<-EOF
|
82
82
|
ActionController::Routing::Routes.draw do |map|
|
83
|
-
map.resources :posts, :
|
83
|
+
map.resources :posts, except: :all
|
84
84
|
end
|
85
85
|
EOF
|
86
86
|
runner.prepare('config/routes.rb', content)
|
@@ -91,7 +91,7 @@ module RailsBestPractices
|
|
91
91
|
it "should add resource routes with hash collection/member routes" do
|
92
92
|
content =<<-EOF
|
93
93
|
ActionController::Routing::Routes.draw do |map|
|
94
|
-
map.resources :posts, :
|
94
|
+
map.resources :posts, only: [:show], collection: { list: :get }, member: { create: :post, update: :put, destroy: :delete }
|
95
95
|
end
|
96
96
|
EOF
|
97
97
|
runner.prepare('config/routes.rb', content)
|
@@ -103,7 +103,7 @@ module RailsBestPractices
|
|
103
103
|
it "should add resource routes with array collection/member routes" do
|
104
104
|
content =<<-EOF
|
105
105
|
ActionController::Routing::Routes.draw do |map|
|
106
|
-
map.resources :posts, :
|
106
|
+
map.resources :posts, only: [:show], collection: [:list], member: [:create, :update, :destroy]
|
107
107
|
end
|
108
108
|
EOF
|
109
109
|
runner.prepare('config/routes.rb', content)
|
@@ -130,7 +130,7 @@ module RailsBestPractices
|
|
130
130
|
ActionController::Routing::Routes.draw do |map|
|
131
131
|
map.namespace :admin do |admin|
|
132
132
|
admin.namespace :test do |test|
|
133
|
-
test.resources :posts, :
|
133
|
+
test.resources :posts, only: [:index]
|
134
134
|
end
|
135
135
|
end
|
136
136
|
end
|
@@ -168,7 +168,7 @@ module RailsBestPractices
|
|
168
168
|
it "should add resource route with only option" do
|
169
169
|
content =<<-EOF
|
170
170
|
ActionController::Routing::Routes.draw do |map|
|
171
|
-
map.resource :posts, :
|
171
|
+
map.resource :posts, only: [:show, :new, :create]
|
172
172
|
end
|
173
173
|
EOF
|
174
174
|
runner.prepare('config/routes.rb', content)
|
@@ -180,7 +180,7 @@ module RailsBestPractices
|
|
180
180
|
it "should add resource route with except option" do
|
181
181
|
content =<<-EOF
|
182
182
|
ActionController::Routing::Routes.draw do |map|
|
183
|
-
map.resource :posts, :
|
183
|
+
map.resource :posts, except: [:edit, :update, :destroy]
|
184
184
|
end
|
185
185
|
EOF
|
186
186
|
runner.prepare('config/routes.rb', content)
|
@@ -189,10 +189,10 @@ module RailsBestPractices
|
|
189
189
|
routes.map(&:to_s).should == ["PostsController#show", "PostsController#new", "PostsController#create"]
|
190
190
|
end
|
191
191
|
|
192
|
-
it "should not add resource routes with :
|
192
|
+
it "should not add resource routes with only: :none" do
|
193
193
|
content =<<-EOF
|
194
194
|
ActionController::Routing::Routes.draw do |map|
|
195
|
-
map.resource :posts, :
|
195
|
+
map.resource :posts, only: :none
|
196
196
|
end
|
197
197
|
EOF
|
198
198
|
runner.prepare('config/routes.rb', content)
|
@@ -200,10 +200,10 @@ module RailsBestPractices
|
|
200
200
|
routes.size.should == 0
|
201
201
|
end
|
202
202
|
|
203
|
-
it "should not add resource routes with :
|
203
|
+
it "should not add resource routes with except: :all" do
|
204
204
|
content =<<-EOF
|
205
205
|
ActionController::Routing::Routes.draw do |map|
|
206
|
-
map.resource :posts, :
|
206
|
+
map.resource :posts, except: :all
|
207
207
|
end
|
208
208
|
EOF
|
209
209
|
runner.prepare('config/routes.rb', content)
|
@@ -215,7 +215,7 @@ module RailsBestPractices
|
|
215
215
|
it "should add connect route" do
|
216
216
|
content =<<-EOF
|
217
217
|
ActionController::Routing::Routes.draw do |map|
|
218
|
-
map.connect 'vote', :
|
218
|
+
map.connect 'vote', controller: "votes", action: "create", method: :post
|
219
219
|
end
|
220
220
|
EOF
|
221
221
|
runner.prepare('config/routes.rb', content)
|
@@ -226,7 +226,7 @@ module RailsBestPractices
|
|
226
226
|
it "should add connect route with all actions" do
|
227
227
|
content =<<-EOF
|
228
228
|
ActionController::Routing::Routes.draw do |map|
|
229
|
-
map.connect 'internal/:action/*whatever', :
|
229
|
+
map.connect 'internal/:action/*whatever', controller: "internal"
|
230
230
|
end
|
231
231
|
EOF
|
232
232
|
runner.prepare('config/routes.rb', content)
|
@@ -237,7 +237,7 @@ module RailsBestPractices
|
|
237
237
|
it "should add named route" do
|
238
238
|
content =<<-EOF
|
239
239
|
ActionController::Routing::Routes.draw do |map|
|
240
|
-
map.login '/player/login', :
|
240
|
+
map.login '/player/login', controller: 'sessions', action: 'new', conditions: { method: :get }
|
241
241
|
end
|
242
242
|
EOF
|
243
243
|
runner.prepare('config/routes.rb', content)
|
@@ -248,8 +248,8 @@ module RailsBestPractices
|
|
248
248
|
it "should add named route with with_options" do
|
249
249
|
content =<<-EOF
|
250
250
|
ActionController::Routing::Routes.draw do |map|
|
251
|
-
map.with_options(:
|
252
|
-
session.login '/login', :
|
251
|
+
map.with_options(controller: "admin_session") do |session|
|
252
|
+
session.login '/login', action: 'new', method: :get
|
253
253
|
end
|
254
254
|
end
|
255
255
|
EOF
|
@@ -262,7 +262,7 @@ module RailsBestPractices
|
|
262
262
|
content =<<-EOF
|
263
263
|
ActionController::Routing::Routes.draw do |map|
|
264
264
|
map.resources :posts
|
265
|
-
map.stop 'sprints/stop', :
|
265
|
+
map.stop 'sprints/stop', controller: 'sprints', action: 'stop'
|
266
266
|
end
|
267
267
|
EOF
|
268
268
|
runner.prepare('config/routes.rb', content)
|
@@ -299,7 +299,7 @@ module RailsBestPractices
|
|
299
299
|
it "should add resources route with explict controller" do
|
300
300
|
content =<<-EOF
|
301
301
|
RailsBestPracticesCom::Application.routes.draw do
|
302
|
-
resources :posts, :
|
302
|
+
resources :posts, controller: :blog_posts
|
303
303
|
end
|
304
304
|
EOF
|
305
305
|
runner.prepare('config/routes.rb', content)
|
@@ -311,7 +311,7 @@ module RailsBestPractices
|
|
311
311
|
it "should add resources route with only option" do
|
312
312
|
content =<<-EOF
|
313
313
|
RailsBestPracticesCom::Application.routes.draw do
|
314
|
-
resources :posts, :
|
314
|
+
resources :posts, only: [:index, :show, :new, :create]
|
315
315
|
end
|
316
316
|
EOF
|
317
317
|
runner.prepare('config/routes.rb', content)
|
@@ -323,7 +323,7 @@ module RailsBestPractices
|
|
323
323
|
it "should add resources route with except option" do
|
324
324
|
content =<<-EOF
|
325
325
|
RailsBestPracticesCom::Application.routes.draw do
|
326
|
-
resources :posts, :
|
326
|
+
resources :posts, except: [:edit, :update, :destroy]
|
327
327
|
end
|
328
328
|
EOF
|
329
329
|
runner.prepare('config/routes.rb', content)
|
@@ -332,10 +332,10 @@ module RailsBestPractices
|
|
332
332
|
routes.map(&:to_s).should == ["PostsController#index", "PostsController#show", "PostsController#new", "PostsController#create"]
|
333
333
|
end
|
334
334
|
|
335
|
-
it "should not add resources routes with :
|
335
|
+
it "should not add resources routes with only: :none" do
|
336
336
|
content =<<-EOF
|
337
337
|
RailsBestPracticesCom::Application.routes.draw do
|
338
|
-
resources :posts, :
|
338
|
+
resources :posts, only: :none
|
339
339
|
end
|
340
340
|
EOF
|
341
341
|
runner.prepare('config/routes.rb', content)
|
@@ -343,10 +343,10 @@ module RailsBestPractices
|
|
343
343
|
routes.size.should == 0
|
344
344
|
end
|
345
345
|
|
346
|
-
it "should not add resources routes with :
|
346
|
+
it "should not add resources routes with except: :all" do
|
347
347
|
content =<<-EOF
|
348
348
|
RailsBestPracticesCom::Application.routes.draw do
|
349
|
-
resources :posts, :
|
349
|
+
resources :posts, except: :all
|
350
350
|
end
|
351
351
|
EOF
|
352
352
|
runner.prepare('config/routes.rb', content)
|
@@ -357,7 +357,7 @@ module RailsBestPractices
|
|
357
357
|
it "should add connect route" do
|
358
358
|
content =<<-EOF
|
359
359
|
ActionController::Routing::Routes.draw do |map|
|
360
|
-
map.connect 'vote', :
|
360
|
+
map.connect 'vote', controller: "votes", action: "create", method: :post
|
361
361
|
end
|
362
362
|
EOF
|
363
363
|
runner.prepare('config/routes.rb', content)
|
@@ -368,7 +368,7 @@ module RailsBestPractices
|
|
368
368
|
it "should add named route" do
|
369
369
|
content =<<-EOF
|
370
370
|
ActionController::Routing::Routes.draw do |map|
|
371
|
-
map.login '/player/login', :
|
371
|
+
map.login '/player/login', controller: 'sessions', action: 'new', conditions: { method: :get }
|
372
372
|
end
|
373
373
|
EOF
|
374
374
|
runner.prepare('config/routes.rb', content)
|
@@ -404,7 +404,7 @@ module RailsBestPractices
|
|
404
404
|
it "should add resource route with only option" do
|
405
405
|
content =<<-EOF
|
406
406
|
RailsBestPracticesCom::Application.routes.draw do
|
407
|
-
resource :posts, :
|
407
|
+
resource :posts, only: [:show, :new, :create]
|
408
408
|
end
|
409
409
|
EOF
|
410
410
|
runner.prepare('config/routes.rb', content)
|
@@ -416,7 +416,7 @@ module RailsBestPractices
|
|
416
416
|
it "should add resource route with except option" do
|
417
417
|
content =<<-EOF
|
418
418
|
RailsBestPracticesCom::Application.routes.draw do
|
419
|
-
resource :posts, :
|
419
|
+
resource :posts, except: [:edit, :update, :destroy]
|
420
420
|
end
|
421
421
|
EOF
|
422
422
|
runner.prepare('config/routes.rb', content)
|
@@ -425,10 +425,10 @@ module RailsBestPractices
|
|
425
425
|
routes.map(&:to_s).should == ["PostsController#show", "PostsController#new", "PostsController#create"]
|
426
426
|
end
|
427
427
|
|
428
|
-
it "should not add resource routes with :
|
428
|
+
it "should not add resource routes with only: :none" do
|
429
429
|
content =<<-EOF
|
430
430
|
RailsBestPracticesCom::Application.routes.draw do
|
431
|
-
resource :posts, :
|
431
|
+
resource :posts, only: :none
|
432
432
|
end
|
433
433
|
EOF
|
434
434
|
runner.prepare('config/routes.rb', content)
|
@@ -436,10 +436,10 @@ module RailsBestPractices
|
|
436
436
|
routes.size.should == 0
|
437
437
|
end
|
438
438
|
|
439
|
-
it "should not add resource routes with :
|
439
|
+
it "should not add resource routes with except: :all" do
|
440
440
|
content =<<-EOF
|
441
441
|
RailsBestPracticesCom::Application.routes.draw do
|
442
|
-
resource :posts, :
|
442
|
+
resource :posts, except: :all
|
443
443
|
end
|
444
444
|
EOF
|
445
445
|
runner.prepare('config/routes.rb', content)
|
@@ -450,13 +450,13 @@ module RailsBestPractices
|
|
450
450
|
it "should add resource routes with get/post/put/delete routes" do
|
451
451
|
content =<<-EOF
|
452
452
|
RailsBestPracticesCom::Application.routes.draw do
|
453
|
-
resources :posts, :
|
454
|
-
get :list, :
|
453
|
+
resources :posts, only: [:show] do
|
454
|
+
get :list, on: :collection
|
455
455
|
collection do
|
456
456
|
get :search
|
457
457
|
match :available
|
458
458
|
end
|
459
|
-
post :create, :
|
459
|
+
post :create, on: :member
|
460
460
|
member do
|
461
461
|
put :update
|
462
462
|
end
|
@@ -472,7 +472,7 @@ module RailsBestPractices
|
|
472
472
|
it "should add custom resources routes with {}" do
|
473
473
|
content =<<-EOF
|
474
474
|
RailsBestPracticesCom::Application.routes.draw do
|
475
|
-
resources :posts, :
|
475
|
+
resources :posts, only: [:show] { get :inactive, on: :collection }
|
476
476
|
end
|
477
477
|
EOF
|
478
478
|
runner.prepare('config/routes.rb', content)
|
@@ -484,7 +484,7 @@ module RailsBestPractices
|
|
484
484
|
it "should add resources routes with get %w() routes" do
|
485
485
|
content =<<-EOF
|
486
486
|
RailsBestPracticesCom::Application.routes.draw do
|
487
|
-
resources :posts, :
|
487
|
+
resources :posts, only: [:show] do
|
488
488
|
collection do
|
489
489
|
get *%w(latest popular)
|
490
490
|
end
|
@@ -515,7 +515,7 @@ module RailsBestPractices
|
|
515
515
|
RailsBestPracticesCom::Application.routes.draw do
|
516
516
|
namespace :admin do
|
517
517
|
namespace :test do
|
518
|
-
resources :posts, :
|
518
|
+
resources :posts, only: [:index]
|
519
519
|
end
|
520
520
|
end
|
521
521
|
end
|
@@ -530,7 +530,7 @@ module RailsBestPractices
|
|
530
530
|
RailsBestPracticesCom::Appllication.routes.draw do
|
531
531
|
namespace :something do
|
532
532
|
get *%w(route_one route_two)
|
533
|
-
get :route_three, :
|
533
|
+
get :route_three, action: "custom_action"
|
534
534
|
end
|
535
535
|
end
|
536
536
|
EOF
|
@@ -542,17 +542,17 @@ module RailsBestPractices
|
|
542
542
|
it "should add route with scope" do
|
543
543
|
content =<<-EOF
|
544
544
|
RailsBestPracticesCom::Application.routes.draw do
|
545
|
-
scope :
|
546
|
-
resources :posts, :
|
545
|
+
scope module: "admin" do
|
546
|
+
resources :posts, only: [:index]
|
547
547
|
end
|
548
|
-
resources :discussions, :
|
548
|
+
resources :discussions, only: [:index], module: "admin"
|
549
549
|
scope "/admin" do
|
550
|
-
resources :comments, :
|
550
|
+
resources :comments, only: [:index]
|
551
551
|
end
|
552
552
|
scope "/:username", controller: :users do
|
553
553
|
get '/' => :show
|
554
554
|
scope 'topic' do
|
555
|
-
get 'preview', :
|
555
|
+
get 'preview', as: 'preview_user', action: 'preview'
|
556
556
|
end
|
557
557
|
end
|
558
558
|
end
|
@@ -576,7 +576,7 @@ module RailsBestPractices
|
|
576
576
|
post '/posts' => 'posts#create'
|
577
577
|
put '/posts/:id' => 'posts#update'
|
578
578
|
delete '/post/:id' => 'posts#destroy'
|
579
|
-
get '/agb' => 'high_voltage/pages#show', :
|
579
|
+
get '/agb' => 'high_voltage/pages#show', id: 'agb'
|
580
580
|
end
|
581
581
|
EOF
|
582
582
|
runner.prepare('config/routes.rb', content)
|
@@ -611,7 +611,7 @@ module RailsBestPractices
|
|
611
611
|
it "should add match route with all actions" do
|
612
612
|
content =<<-EOF
|
613
613
|
RailsBestPracticesCom::Application.routes.draw do
|
614
|
-
match 'internal/:action/*whatever', :
|
614
|
+
match 'internal/:action/*whatever', controller: "internal"
|
615
615
|
end
|
616
616
|
EOF
|
617
617
|
runner.prepare('config/routes.rb', content)
|
@@ -622,7 +622,7 @@ module RailsBestPractices
|
|
622
622
|
it "should add root route" do
|
623
623
|
content =<<-EOF
|
624
624
|
RailsBestPracticesCom::Application.routes.draw do
|
625
|
-
root :
|
625
|
+
root to: 'home#index'
|
626
626
|
end
|
627
627
|
EOF
|
628
628
|
runner.prepare('config/routes.rb', content)
|
@@ -682,7 +682,7 @@ module RailsBestPractices
|
|
682
682
|
it "should not parse wrong route" do
|
683
683
|
content =<<-EOF
|
684
684
|
RailsBestPracticesCom::Application.routes.draw do
|
685
|
-
match ':controller/:action' => '#index', :
|
685
|
+
match ':controller/:action' => '#index', as: :auto_complete
|
686
686
|
end
|
687
687
|
EOF
|
688
688
|
runner.prepare('config/routes.rb', content)
|