rails_best_practices 1.18.1 → 1.19.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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/CHANGELOG.md +4 -1
  4. data/Gemfile +3 -3
  5. data/README.md +1 -1
  6. data/Rakefile +1 -4
  7. data/lib/rails_best_practices/analyzer.rb +3 -3
  8. data/lib/rails_best_practices/core/routes.rb +1 -1
  9. data/lib/rails_best_practices/lexicals/remove_tab_check.rb +2 -2
  10. data/lib/rails_best_practices/lexicals/remove_trailing_whitespace_check.rb +2 -2
  11. data/lib/rails_best_practices/prepares/route_prepare.rb +5 -0
  12. data/lib/rails_best_practices/reviews/add_model_virtual_attribute_review.rb +2 -2
  13. data/lib/rails_best_practices/reviews/always_add_db_index_review.rb +2 -2
  14. data/lib/rails_best_practices/reviews/check_save_return_value_review.rb +2 -2
  15. data/lib/rails_best_practices/reviews/default_scope_is_evil_review.rb +2 -2
  16. data/lib/rails_best_practices/reviews/dry_bundler_in_capistrano_review.rb +2 -2
  17. data/lib/rails_best_practices/reviews/isolate_seed_data_review.rb +2 -2
  18. data/lib/rails_best_practices/reviews/keep_finders_on_their_own_model_review.rb +2 -2
  19. data/lib/rails_best_practices/reviews/law_of_demeter_review.rb +2 -2
  20. data/lib/rails_best_practices/reviews/move_code_into_controller_review.rb +2 -2
  21. data/lib/rails_best_practices/reviews/move_code_into_helper_review.rb +2 -2
  22. data/lib/rails_best_practices/reviews/move_code_into_model_review.rb +2 -2
  23. data/lib/rails_best_practices/reviews/move_finder_to_named_scope_review.rb +2 -2
  24. data/lib/rails_best_practices/reviews/move_model_logic_into_model_review.rb +2 -2
  25. data/lib/rails_best_practices/reviews/needless_deep_nesting_review.rb +2 -2
  26. data/lib/rails_best_practices/reviews/not_rescue_exception_review.rb +2 -2
  27. data/lib/rails_best_practices/reviews/not_use_default_route_review.rb +3 -12
  28. data/lib/rails_best_practices/reviews/not_use_time_ago_in_words_review.rb +2 -2
  29. data/lib/rails_best_practices/reviews/overuse_route_customizations_review.rb +2 -47
  30. data/lib/rails_best_practices/reviews/protect_mass_assignment_review.rb +2 -2
  31. data/lib/rails_best_practices/reviews/remove_empty_helpers_review.rb +2 -2
  32. data/lib/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review.rb +2 -2
  33. data/lib/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review.rb +2 -2
  34. data/lib/rails_best_practices/reviews/restrict_auto_generated_routes_review.rb +15 -6
  35. data/lib/rails_best_practices/reviews/simplify_render_in_controllers_review.rb +2 -2
  36. data/lib/rails_best_practices/reviews/simplify_render_in_views_review.rb +2 -2
  37. data/lib/rails_best_practices/reviews/use_before_filter_review.rb +2 -2
  38. data/lib/rails_best_practices/reviews/use_model_association_review.rb +2 -2
  39. data/lib/rails_best_practices/reviews/use_multipart_alternative_as_content_type_of_email_review.rb +3 -18
  40. data/lib/rails_best_practices/reviews/use_observer_review.rb +2 -13
  41. data/lib/rails_best_practices/reviews/use_query_attribute_review.rb +2 -2
  42. data/lib/rails_best_practices/reviews/use_say_with_time_in_migrations_review.rb +2 -2
  43. data/lib/rails_best_practices/reviews/use_scope_access_review.rb +2 -2
  44. data/lib/rails_best_practices/reviews/use_turbo_sprockets_rails3_review.rb +2 -2
  45. data/lib/rails_best_practices/version.rb +1 -1
  46. data/rails_best_practices.gemspec +2 -2
  47. data/spec/rails_best_practices/analyzer_spec.rb +1 -1
  48. data/spec/rails_best_practices/prepares/route_prepare_spec.rb +338 -586
  49. data/spec/rails_best_practices/reviews/needless_deep_nesting_review_spec.rb +59 -140
  50. data/spec/rails_best_practices/reviews/not_use_default_route_review_spec.rb +26 -69
  51. data/spec/rails_best_practices/reviews/overuse_route_customizations_review_spec.rb +44 -153
  52. data/spec/rails_best_practices/reviews/protect_mass_assignment_review_spec.rb +2 -2
  53. data/spec/rails_best_practices/reviews/remove_unused_methods_in_controllers_review_spec.rb +21 -0
  54. data/spec/rails_best_practices/reviews/restrict_auto_generated_routes_review_spec.rb +160 -272
  55. data/spec/rails_best_practices/reviews/use_multipart_alternative_as_content_type_of_email_review_spec.rb +76 -209
  56. data/spec/rails_best_practices/reviews/use_observer_review_spec.rb +43 -110
  57. data/spec/rails_best_practices/reviews/use_turbo_sprockets_rails3_review_spec.rb +4 -4
  58. metadata +5 -23
  59. data/.rubocop.yml +0 -1
  60. data/.rubocop_todo.yml +0 -382
  61. data/install_supported_rubies.sh +0 -10
  62. data/rake_rubies.sh +0 -9
@@ -5,166 +5,85 @@ module RailsBestPractices
5
5
  describe NeedlessDeepNestingReview do
6
6
  let(:runner) { Core::Runner.new(reviews: NeedlessDeepNestingReview.new) }
7
7
 
8
- describe "rails2" do
9
- it "should needless deep nesting" do
10
- content = <<-EOF
11
- map.resources :posts do |post|
12
- post.resources :comments do |comment|
13
- comment.resources :favorites
14
- end
15
- end
16
- EOF
17
- runner.review('config/routes.rb', content)
18
- expect(runner.errors.size).to eq(1)
19
- expect(runner.errors[0].to_s).to eq("config/routes.rb:3 - needless deep nesting (nested_count > 2)")
20
- end
21
-
22
- it "should not needless deep nesting for shallow" do
23
- content = <<-EOF
24
- map.resources :posts, shallow: true do |post|
25
- post.resources :comments do |comment|
26
- comment.resources :favorites
27
- end
28
- end
29
- EOF
30
- runner.review('config/routes.rb', content)
31
- expect(runner.errors.size).to eq(0)
32
- end
33
-
34
- it "should needless deep nesting with resource" do
35
- content = <<-EOF
36
- map.resources :posts do |post|
37
- post.resources :comments do |comment|
38
- comment.resource :vote
39
- end
40
- end
41
- EOF
42
- runner.review('config/routes.rb', content)
43
- expect(runner.errors.size).to eq(1)
44
- expect(runner.errors[0].to_s).to eq("config/routes.rb:3 - needless deep nesting (nested_count > 2)")
45
- end
46
-
47
- it "should needless deep nesting with block node" do
48
- content = <<-EOF
49
- map.resources :posts do |post|
50
- post.resources :comments do |comment|
51
- comment.resources :favorites
52
- end
53
- post.resources :votes
54
- end
55
- EOF
56
- runner.review('config/routes.rb', content)
57
- expect(runner.errors.size).to eq(1)
58
- expect(runner.errors[0].to_s).to eq("config/routes.rb:3 - needless deep nesting (nested_count > 2)")
59
- end
60
-
61
- it "should no needless deep nesting" do
62
- content = <<-EOF
63
- map.resources :posts do |post|
64
- post.resources :comments
65
- end
66
-
67
- map.resources :comments do |comment|
68
- comment.resources :favorites
69
- end
70
- EOF
71
- runner.review('config/routes.rb', content)
72
- expect(runner.errors.size).to eq(0)
73
- end
74
-
75
- it "should no needless deep nesting with block node" do
76
- content = <<-EOF
77
- map.resources :comments do |comment|
78
- comment.resources :favorites
79
- comment.resources :votes
8
+ it "should needless deep nesting" do
9
+ content = <<-EOF
10
+ resources :posts do
11
+ resources :comments do
12
+ resources :favorites
80
13
  end
81
- EOF
82
- runner.review('config/routes.rb', content)
83
- expect(runner.errors.size).to eq(0)
84
14
  end
15
+ EOF
16
+ runner.review('config/routes.rb', content)
17
+ expect(runner.errors.size).to eq(1)
18
+ expect(runner.errors[0].to_s).to eq("config/routes.rb:3 - needless deep nesting (nested_count > 2)")
85
19
  end
86
20
 
87
- describe "rails3" do
88
- it "should needless deep nesting" do
89
- content = <<-EOF
90
- resources :posts do
91
- resources :comments do
92
- resources :favorites
93
- end
21
+ it "should not needless deep nesting for shallow" do
22
+ content = <<-EOF
23
+ resources :posts, shallow: true do
24
+ resources :comments do
25
+ resources :favorites
94
26
  end
95
- EOF
96
- runner.review('config/routes.rb', content)
97
- expect(runner.errors.size).to eq(1)
98
- expect(runner.errors[0].to_s).to eq("config/routes.rb:3 - needless deep nesting (nested_count > 2)")
99
27
  end
28
+ EOF
29
+ runner.review('config/routes.rb', content)
30
+ expect(runner.errors.size).to eq(0)
31
+ end
100
32
 
101
- it "should not needless deep nesting for shallow" do
102
- content = <<-EOF
103
- resources :posts, shallow: true do
104
- resources :comments do
105
- resources :favorites
33
+ it "should not needless deep nesting for shallow 4 levels" do
34
+ content = <<-EOF
35
+ resources :applications, shallow: true, only: [:index, :show, :create] do
36
+ resources :events, only: [:index, :show, :create, :subscribe, :push] do
37
+ resources :executions, only: [:index, :show] do
38
+ resources :execution_statuses, only: :index
106
39
  end
107
40
  end
108
- EOF
109
- runner.review('config/routes.rb', content)
110
- expect(runner.errors.size).to eq(0)
111
41
  end
42
+ EOF
43
+ runner.review('config/routes.rb', content)
44
+ expect(runner.errors.size).to eq(0)
45
+ end
112
46
 
113
- it "should not needless deep nesting for shallow 4 levels" do
114
- content = <<-EOF
115
- resources :applications, shallow: true, only: [:index, :show, :create] do
116
- resources :events, only: [:index, :show, :create, :subscribe, :push] do
117
- resources :executions, only: [:index, :show] do
118
- resources :execution_statuses, only: :index
119
- end
120
- end
47
+ it "should needless deep nesting with resource" do
48
+ content = <<-EOF
49
+ resources :posts do
50
+ resources :comments do
51
+ resource :vote
121
52
  end
122
- EOF
123
- runner.review('config/routes.rb', content)
124
- expect(runner.errors.size).to eq(0)
125
53
  end
54
+ EOF
55
+ runner.review('config/routes.rb', content)
56
+ expect(runner.errors.size).to eq(1)
57
+ expect(runner.errors[0].to_s).to eq("config/routes.rb:3 - needless deep nesting (nested_count > 2)")
58
+ end
126
59
 
127
- it "should needless deep nesting with resource" do
128
- content = <<-EOF
129
- resources :posts do
130
- resources :comments do
131
- resource :vote
132
- end
60
+ it "should needless deep nesting with block node" do
61
+ content = <<-EOF
62
+ resources :posts do
63
+ resources :comments do
64
+ resources :favorites
133
65
  end
134
- EOF
135
- runner.review('config/routes.rb', content)
136
- expect(runner.errors.size).to eq(1)
137
- expect(runner.errors[0].to_s).to eq("config/routes.rb:3 - needless deep nesting (nested_count > 2)")
66
+ resources :votes
138
67
  end
68
+ EOF
69
+ runner.review('config/routes.rb', content)
70
+ expect(runner.errors.size).to eq(1)
71
+ expect(runner.errors[0].to_s).to eq("config/routes.rb:3 - needless deep nesting (nested_count > 2)")
72
+ end
139
73
 
140
- it "should needless deep nesting with block node" do
141
- content = <<-EOF
142
- resources :posts do
143
- resources :comments do
144
- resources :favorites
145
- end
146
- resources :votes
147
- end
148
- EOF
149
- runner.review('config/routes.rb', content)
150
- expect(runner.errors.size).to eq(1)
151
- expect(runner.errors[0].to_s).to eq("config/routes.rb:3 - needless deep nesting (nested_count > 2)")
74
+ it "should no needless deep nesting" do
75
+ content = <<-EOF
76
+ resources :posts do
77
+ resources :comments
78
+ resources :votes
152
79
  end
153
80
 
154
- it "should no needless deep nesting" do
155
- content = <<-EOF
156
- resources :posts do
157
- resources :comments
158
- resources :votes
159
- end
160
-
161
- resources :comments do
162
- resources :favorites
163
- end
164
- EOF
165
- runner.review('config/routes.rb', content)
166
- expect(runner.errors.size).to eq(0)
81
+ resources :comments do
82
+ resources :favorites
167
83
  end
84
+ EOF
85
+ runner.review('config/routes.rb', content)
86
+ expect(runner.errors.size).to eq(0)
168
87
  end
169
88
 
170
89
  it "should not check ignored files" do
@@ -5,83 +5,40 @@ module RailsBestPractices
5
5
  describe NotUseDefaultRouteReview do
6
6
  let(:runner) { Core::Runner.new(reviews: NotUseDefaultRouteReview.new) }
7
7
 
8
- describe "rails2" do
9
- it "should not use default route" do
10
- content = <<-EOF
11
- ActionController::Routing::Routes.draw do |map|
12
- map.resources :posts, member: { push: :post }
8
+ it "should not use default route" do
9
+ content = <<-EOF
10
+ RailsBestpracticesCom::Application.routes.draw do |map|
11
+ resources :posts
13
12
 
14
- map.connect ':controller/:action/:id'
15
- map.connect ':controller/:action/:id.:format'
16
- end
17
- EOF
18
- runner.review('config/routes.rb', content)
19
- expect(runner.errors.size).to eq(2)
20
- expect(runner.errors[0].to_s).to eq("config/routes.rb:4 - not use default route")
21
- expect(runner.errors[1].to_s).to eq("config/routes.rb:5 - not use default route")
22
- end
23
-
24
- it "should no not use default route" do
25
- content = <<-EOF
26
- ActionController::Routing::Routes.draw do |map|
27
- map.resources :posts, member: { push: :post }
28
- end
29
- EOF
30
- runner.review('config/routes.rb', content)
31
- expect(runner.errors.size).to eq(0)
32
- end
33
-
34
- it "should not check ignored files" do
35
- runner = Core::Runner.new(reviews: NotUseDefaultRouteReview.new(ignored_files: /config\/routes\.rb/))
36
- content = <<-EOF
37
- ActionController::Routing::Routes.draw do |map|
38
- map.resources :posts, member: { push: :post }
39
-
40
- map.connect ':controller/:action/:id'
41
- map.connect ':controller/:action/:id.:format'
42
- end
43
- EOF
44
- runner.review('config/routes.rb', content)
45
- expect(runner.errors.size).to eq(0)
13
+ match ':controller(/:action(/:id(.:format)))'
46
14
  end
15
+ EOF
16
+ runner.review('config/routes.rb', content)
17
+ expect(runner.errors.size).to eq(1)
18
+ expect(runner.errors[0].to_s).to eq("config/routes.rb:4 - not use default route")
47
19
  end
48
20
 
49
- describe "rails3" do
50
- it "should not use default route" do
51
- content = <<-EOF
52
- RailsBestpracticesCom::Application.routes.draw do |map|
53
- resources :posts
54
-
55
- match ':controller(/:action(/:id(.:format)))'
56
- end
57
- EOF
58
- runner.review('config/routes.rb', content)
59
- expect(runner.errors.size).to eq(1)
60
- expect(runner.errors[0].to_s).to eq("config/routes.rb:4 - not use default route")
61
- end
62
-
63
- it "should no not use default route" do
64
- content = <<-EOF
65
- RailsBestpracticesCom::Application.routes.draw do |map|
66
- resources :posts
67
- end
68
- EOF
69
- runner.review('config/routes.rb', content)
70
- expect(runner.errors.size).to eq(0)
21
+ it "should no not use default route" do
22
+ content = <<-EOF
23
+ RailsBestpracticesCom::Application.routes.draw do |map|
24
+ resources :posts
71
25
  end
26
+ EOF
27
+ runner.review('config/routes.rb', content)
28
+ expect(runner.errors.size).to eq(0)
29
+ end
72
30
 
73
- it "should not check ignored files" do
74
- runner = Core::Runner.new(reviews: NotUseDefaultRouteReview.new(ignored_files: /config\/routes\.rb/))
75
- content = <<-EOF
76
- RailsBestpracticesCom::Application.routes.draw do |map|
77
- resources :posts
31
+ it "should not check ignored files" do
32
+ runner = Core::Runner.new(reviews: NotUseDefaultRouteReview.new(ignored_files: /config\/routes\.rb/))
33
+ content = <<-EOF
34
+ RailsBestpracticesCom::Application.routes.draw do |map|
35
+ resources :posts
78
36
 
79
- match ':controller(/:action(/:id(.:format)))'
80
- end
81
- EOF
82
- runner.review('config/routes.rb', content)
83
- expect(runner.errors.size).to eq(0)
37
+ match ':controller(/:action(/:id(.:format)))'
84
38
  end
39
+ EOF
40
+ runner.review('config/routes.rb', content)
41
+ expect(runner.errors.size).to eq(0)
85
42
  end
86
43
  end
87
44
  end
@@ -5,174 +5,65 @@ module RailsBestPractices
5
5
  describe OveruseRouteCustomizationsReview do
6
6
  let(:runner) { Core::Runner.new(reviews: OveruseRouteCustomizationsReview.new) }
7
7
 
8
- describe "rails2" do
9
- it "should overuse route customizations" do
10
- content = <<-EOF
11
- ActionController::Routing::Routes.draw do |map|
12
- map.resources :posts, member: { comments: :get,
13
- create_comment: :post,
14
- update_comment: :update,
15
- delete_comment: :delete }
16
- end
17
- EOF
18
- runner.review('config/routes.rb', content)
19
- expect(runner.errors.size).to eq(1)
20
- expect(runner.errors[0].to_s).to eq("config/routes.rb:2 - overuse route customizations (customize_count > 3)")
21
- end
22
-
23
- it "should overuse route customizations with member" do
24
- content = <<-EOF
25
- ActionController::Routing::Routes.draw do |map|
26
- map.resources :posts, member: { create_comment: :post,
27
- update_comment: :update,
28
- delete_comment: :delete,
29
- disable_comment: :post }
30
- end
31
- EOF
32
- runner.review('config/routes.rb', content)
33
- expect(runner.errors.size).to eq(1)
34
- expect(runner.errors[0].to_s).to eq("config/routes.rb:2 - overuse route customizations (customize_count > 3)")
35
- end
36
-
37
- it "should overuse route customizations with collection" do
38
- content = <<-EOF
39
- ActionController::Routing::Routes.draw do |map|
40
- map.resources :posts, collection: { list_comments: :get,
41
- update_comments: :get,
42
- delete_comments: :get,
43
- disable_comments: :get }
44
- end
45
- EOF
46
- runner.review('config/routes.rb', content)
47
- expect(runner.errors.size).to eq(1)
48
- expect(runner.errors[0].to_s).to eq("config/routes.rb:2 - overuse route customizations (customize_count > 3)")
49
- end
50
-
51
- it "should overuse route customizations with hash member and collection" do
52
- content = <<-EOF
53
- ActionController::Routing::Routes.draw do |map|
54
- map.resources :categories do |category|
55
- category.resources :posts, member: { create_comment: :post,
56
- update_comment: :update,
57
- delete_comment: :delete },
58
- collection: { comments: :get }
59
- end
60
- end
61
- EOF
62
- runner.review('config/routes.rb', content)
63
- expect(runner.errors.size).to eq(1)
64
- expect(runner.errors[0].to_s).to eq("config/routes.rb:3 - overuse route customizations (customize_count > 3)")
65
- end
66
-
67
- it "should overuse route customizations with array member and collection" do
68
- content = <<-EOF
69
- ActionController::Routing::Routes.draw do |map|
70
- map.resources :categories do |category|
71
- category.resources :posts, member: [:create_comment, :update_comment, :delete_comment],
72
- collection: [:comments]
8
+ it "should overuse route customizations" do
9
+ content = <<-EOF
10
+ RailsBestpracticesCom::Application.routes.draw do
11
+ resources :posts do
12
+ member do
13
+ post :create_comment
14
+ update :update_comment
15
+ delete :delete_comment
73
16
  end
74
- end
75
- EOF
76
- runner.review('config/routes.rb', content)
77
- expect(runner.errors.size).to eq(1)
78
- expect(runner.errors[0].to_s).to eq("config/routes.rb:3 - overuse route customizations (customize_count > 3)")
79
- end
80
-
81
- it "should not overuse route customizations without customization" do
82
- content = <<-EOF
83
- ActionController::Routing::Routes.draw do |map|
84
- map.resources :posts
85
- end
86
- EOF
87
- runner.review('config/routes.rb', content)
88
- expect(runner.errors.size).to eq(0)
89
- end
90
17
 
91
- it "should not overuse route customizations when customize route is only one" do
92
- content = <<-EOF
93
- ActionController::Routing::Routes.draw do |map|
94
- map.resources :posts, member: { vote: :post }
95
- end
96
- EOF
97
- runner.review('config/routes.rb', content)
98
- expect(runner.errors.size).to eq(0)
99
- end
100
-
101
- it "should not raise error for constants in routes" do
102
- content =<<-EOF
103
- IP_PATTERN = /(((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2}))|[\d]+/.freeze
104
- map.resources :vlans do |vlan|
105
- vlan.resources :ip_ranges, member: {move: [:get, :post]} do |range|
106
- range.resources :ips, requirements: { id: IP_PATTERN }
18
+ collection do
19
+ get :comments
107
20
  end
108
21
  end
109
- EOF
110
- runner.review('config/routes.rb', content)
111
- expect(runner.errors.size).to eq(0)
112
22
  end
23
+ EOF
24
+ runner.review('config/routes.rb', content)
25
+ expect(runner.errors.size).to eq(1)
26
+ expect(runner.errors[0].to_s).to eq("config/routes.rb:2 - overuse route customizations (customize_count > 3)")
113
27
  end
114
28
 
115
- describe "rails3" do
116
- it "should overuse route customizations" do
117
- content = <<-EOF
118
- RailsBestpracticesCom::Application.routes.draw do
119
- resources :posts do
120
- member do
121
- post :create_comment
122
- update :update_comment
123
- delete :delete_comment
124
- end
125
-
126
- collection do
127
- get :comments
128
- end
129
- end
130
- end
131
- EOF
132
- runner.review('config/routes.rb', content)
133
- expect(runner.errors.size).to eq(1)
134
- expect(runner.errors[0].to_s).to eq("config/routes.rb:2 - overuse route customizations (customize_count > 3)")
135
- end
136
-
137
- it "should overuse route customizations another way" do
138
- content = <<-EOF
139
- RailsBestpracticesCom::Application.routes.draw do
140
- resources :posts do
141
- post :create_comment, on: :member
142
- update :update_comment, on: :member
143
- delete :delete_comment, on: :member
144
- get :comments, on: :collection
145
- end
29
+ it "should overuse route customizations another way" do
30
+ content = <<-EOF
31
+ RailsBestpracticesCom::Application.routes.draw do
32
+ resources :posts do
33
+ post :create_comment, on: :member
34
+ update :update_comment, on: :member
35
+ delete :delete_comment, on: :member
36
+ get :comments, on: :collection
146
37
  end
147
- EOF
148
- runner.review('config/routes.rb', content)
149
- expect(runner.errors.size).to eq(1)
150
- expect(runner.errors[0].to_s).to eq("config/routes.rb:2 - overuse route customizations (customize_count > 3)")
151
38
  end
39
+ EOF
40
+ runner.review('config/routes.rb', content)
41
+ expect(runner.errors.size).to eq(1)
42
+ expect(runner.errors[0].to_s).to eq("config/routes.rb:2 - overuse route customizations (customize_count > 3)")
43
+ end
152
44
 
153
- it "should not overuse route customizations without customization" do
154
- content = <<-EOF
155
- RailsBestpracticesCom::Application.routes.draw do
156
- resources :posts
157
- end
158
- EOF
159
- runner.review('config/routes.rb', content)
160
- expect(runner.errors.size).to eq(0)
45
+ it "should not overuse route customizations without customization" do
46
+ content = <<-EOF
47
+ RailsBestpracticesCom::Application.routes.draw do
48
+ resources :posts
161
49
  end
50
+ EOF
51
+ runner.review('config/routes.rb', content)
52
+ expect(runner.errors.size).to eq(0)
53
+ end
162
54
 
163
- it "should not overuse route customizations when customize route is only one" do
164
- content = <<-EOF
165
- RailsBestpracticesCom::Application.routes.draw do
166
- resources :posts do
167
- member do
168
- post :vote
169
- end
55
+ it "should not overuse route customizations when customize route is only one" do
56
+ content = <<-EOF
57
+ RailsBestpracticesCom::Application.routes.draw do
58
+ resources :posts do
59
+ member do
60
+ post :vote
170
61
  end
171
62
  end
172
- EOF
173
- runner.review('config/routes.rb', content)
174
- expect(runner.errors.size).to eq(0)
175
63
  end
64
+ EOF
65
+ runner.review('config/routes.rb', content)
66
+ expect(runner.errors.size).to eq(0)
176
67
  end
177
68
 
178
69
  it "should not check ignored files" do