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.
Files changed (91) hide show
  1. data/.rvmrc +1 -1
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +10 -2
  4. data/README.md +33 -27
  5. data/lib/rails_best_practices/analyzer.rb +13 -13
  6. data/lib/rails_best_practices/core/check.rb +7 -6
  7. data/lib/rails_best_practices/core/checking_visitor.rb +1 -1
  8. data/lib/rails_best_practices/core/runner.rb +2 -3
  9. data/lib/rails_best_practices/core_ext/sexp.rb +18 -17
  10. data/lib/rails_best_practices/lexicals.rb +1 -0
  11. data/lib/rails_best_practices/lexicals/long_line_check.rb +31 -0
  12. data/lib/rails_best_practices/prepares/config_prepare.rb +1 -1
  13. data/lib/rails_best_practices/reviews.rb +2 -0
  14. data/lib/rails_best_practices/reviews/add_model_virtual_attribute_review.rb +2 -2
  15. data/lib/rails_best_practices/reviews/always_add_db_index_review.rb +1 -1
  16. data/lib/rails_best_practices/reviews/hash_syntax_review.rb +63 -0
  17. data/lib/rails_best_practices/reviews/keep_finders_on_their_own_model_review.rb +1 -1
  18. data/lib/rails_best_practices/reviews/move_code_into_model_review.rb +1 -1
  19. data/lib/rails_best_practices/reviews/move_finder_to_named_scope_review.rb +1 -1
  20. data/lib/rails_best_practices/reviews/move_model_logic_into_model_review.rb +1 -1
  21. data/lib/rails_best_practices/reviews/needless_deep_nesting_review.rb +1 -1
  22. data/lib/rails_best_practices/reviews/overuse_route_customizations_review.rb +1 -1
  23. data/lib/rails_best_practices/reviews/protect_mass_assignment_review.rb +15 -6
  24. data/lib/rails_best_practices/reviews/remove_unused_methods_in_models_review.rb +4 -2
  25. data/lib/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review.rb +8 -4
  26. data/lib/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review.rb +2 -1
  27. data/lib/rails_best_practices/reviews/restrict_auto_generated_routes_review.rb +52 -8
  28. data/lib/rails_best_practices/reviews/simplify_render_in_views_review.rb +14 -2
  29. data/lib/rails_best_practices/reviews/use_before_filter_review.rb +8 -3
  30. data/lib/rails_best_practices/reviews/use_multipart_alternative_as_content_type_of_email_review.rb +2 -1
  31. data/lib/rails_best_practices/reviews/use_observer_review.rb +1 -1
  32. data/lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb +33 -0
  33. data/lib/rails_best_practices/reviews/use_query_attribute_review.rb +16 -6
  34. data/lib/rails_best_practices/reviews/use_say_with_time_in_migrations_review.rb +9 -6
  35. data/lib/rails_best_practices/reviews/use_scope_access_review.rb +8 -3
  36. data/lib/rails_best_practices/version.rb +1 -1
  37. data/rails_best_practices.yml +28 -25
  38. data/rake_rubies.sh +1 -1
  39. data/spec/rails_best_practices/analyzer_spec.rb +1 -1
  40. data/spec/rails_best_practices/core/check_spec.rb +7 -7
  41. data/spec/rails_best_practices/core/checking_visitor_spec.rb +7 -7
  42. data/spec/rails_best_practices/core/error_spec.rb +12 -12
  43. data/spec/rails_best_practices/core_ext/sexp_spec.rb +103 -85
  44. data/spec/rails_best_practices/lexicals/long_line_check_spec.rb +47 -0
  45. data/spec/rails_best_practices/lexicals/remove_tab_check_spec.rb +1 -1
  46. data/spec/rails_best_practices/lexicals/remove_trailing_whitespace_check_spec.rb +1 -1
  47. data/spec/rails_best_practices/prepares/config_prepare_spec.rb +1 -1
  48. data/spec/rails_best_practices/prepares/controller_prepare_spec.rb +1 -1
  49. data/spec/rails_best_practices/prepares/helper_prepare_spec.rb +1 -1
  50. data/spec/rails_best_practices/prepares/mailer_prepare_spec.rb +1 -1
  51. data/spec/rails_best_practices/prepares/model_prepare_spec.rb +4 -4
  52. data/spec/rails_best_practices/prepares/route_prepare_spec.rb +54 -54
  53. data/spec/rails_best_practices/prepares/schema_prepare_spec.rb +6 -6
  54. data/spec/rails_best_practices/reviews/add_model_virtual_attribute_review_spec.rb +4 -4
  55. data/spec/rails_best_practices/reviews/always_add_db_index_review_spec.rb +46 -46
  56. data/spec/rails_best_practices/reviews/dry_bundler_in_capistrano_review_spec.rb +3 -3
  57. data/spec/rails_best_practices/reviews/hash_syntax_review_spec.rb +67 -0
  58. data/spec/rails_best_practices/reviews/isolate_seed_data_review_spec.rb +8 -8
  59. data/spec/rails_best_practices/reviews/keep_finders_on_their_own_model_review_spec.rb +9 -9
  60. data/spec/rails_best_practices/reviews/law_of_demeter_review_spec.rb +7 -7
  61. data/spec/rails_best_practices/reviews/move_code_into_controller_review_spec.rb +1 -1
  62. data/spec/rails_best_practices/reviews/move_code_into_helper_review_spec.rb +1 -1
  63. data/spec/rails_best_practices/reviews/move_code_into_model_review_spec.rb +1 -1
  64. data/spec/rails_best_practices/reviews/move_finder_to_named_scope_review_spec.rb +13 -13
  65. data/spec/rails_best_practices/reviews/move_model_logic_into_model_review_spec.rb +2 -2
  66. data/spec/rails_best_practices/reviews/needless_deep_nesting_review_spec.rb +3 -3
  67. data/spec/rails_best_practices/reviews/not_use_default_route_review_spec.rb +3 -3
  68. data/spec/rails_best_practices/reviews/not_use_times_ago_in_words_review_spec.rb +1 -1
  69. data/spec/rails_best_practices/reviews/overuse_route_customizations_review_spec.rb +26 -26
  70. data/spec/rails_best_practices/reviews/protect_mass_assignment_review_spec.rb +11 -2
  71. data/spec/rails_best_practices/reviews/remove_empty_helpers_review_spec.rb +1 -1
  72. data/spec/rails_best_practices/reviews/remove_unused_methods_in_controllers_review_spec.rb +8 -8
  73. data/spec/rails_best_practices/reviews/remove_unused_methods_in_helpers_review_spec.rb +2 -2
  74. data/spec/rails_best_practices/reviews/remove_unused_methods_in_models_review_spec.rb +25 -10
  75. data/spec/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review_spec.rb +3 -3
  76. data/spec/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review_spec.rb +1 -1
  77. data/spec/rails_best_practices/reviews/restrict_auto_generated_routes_review_spec.rb +28 -28
  78. data/spec/rails_best_practices/reviews/simplify_render_in_controllers_review_spec.rb +4 -4
  79. data/spec/rails_best_practices/reviews/simplify_render_in_views_review_spec.rb +15 -7
  80. data/spec/rails_best_practices/reviews/use_before_filter_review_spec.rb +3 -3
  81. data/spec/rails_best_practices/reviews/use_model_association_review_spec.rb +3 -3
  82. data/spec/rails_best_practices/reviews/use_multipart_alternative_as_content_type_of_email_review_spec.rb +3 -3
  83. data/spec/rails_best_practices/reviews/use_observer_review_spec.rb +5 -5
  84. data/spec/rails_best_practices/reviews/use_parenthesis_in_method_def_spec.rb +41 -0
  85. data/spec/rails_best_practices/reviews/use_query_attribute_review_spec.rb +3 -3
  86. data/spec/rails_best_practices/reviews/use_say_with_time_in_migrations_review_spec.rb +8 -8
  87. data/spec/rails_best_practices/reviews/use_scope_access_review_spec.rb +9 -9
  88. data/spec/spec_helper.rb +1 -1
  89. metadata +36 -29
  90. data/.rspec.example +0 -2
  91. 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(:lexicals => RemoveTabCheck.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(:lexicals => RemoveTrailingWhitespaceCheck.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(:prepares => ConfigPrepare.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(:prepares => [ControllerPrepare.new, HelperPrepare.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(:prepares => HelperPrepare.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(:prepares => MailerPrepare.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(:prepares => ModelPrepare.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, :conditions => {:active => true}
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(:active => true)
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, :finder_sql => ?
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(:prepares => RoutePrepare.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, :controller => :blog_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, :only => [:index, :show, :new, :create]
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, :except => [:edit, :update, :destroy]
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 :only => :none" do
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, :only => :none
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 :except => :all" do
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, :except => :all
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, :only => [:show], :collection => { :list => :get }, :member => { :create => :post, :update => :put, :destroy => :delete }
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, :only => [:show], :collection => [:list], :member => [:create, :update, :destroy]
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, :only => [:index]
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, :only => [:show, :new, :create]
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, :except => [:edit, :update, :destroy]
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 :only => :none" do
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, :only => :none
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 :except => :all" do
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, :except => :all
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', :controller => "votes", :action => "create", :method => :post
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', :controller => "internal"
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', :controller => 'sessions', :action => 'new', :conditions => { :method => :get }
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(:controller => "admin_session") do |session|
252
- session.login '/login', :action => 'new', :method => :get
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', :controller => 'sprints', :action => '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, :controller => :blog_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, :only => [:index, :show, :new, :create]
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, :except => [:edit, :update, :destroy]
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 :only => :none" do
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, :only => :none
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 :except => :all" do
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, :except => :all
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', :controller => "votes", :action => "create", :method => :post
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', :controller => 'sessions', :action => 'new', :conditions => { :method => :get }
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, :only => [:show, :new, :create]
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, :except => [:edit, :update, :destroy]
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 :only => :none" do
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, :only => :none
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 :except => :all" do
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, :except => :all
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, :only => [:show] do
454
- get :list, :on => :collection
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, :on => :member
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, :only => [:show] { get :inactive, :on => :collection }
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, :only => [:show] do
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, :only => [:index]
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, :action => "custom_action"
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 :module => "admin" do
546
- resources :posts, :only => [:index]
545
+ scope module: "admin" do
546
+ resources :posts, only: [:index]
547
547
  end
548
- resources :discussions, :only => [:index], :module => "admin"
548
+ resources :discussions, only: [:index], module: "admin"
549
549
  scope "/admin" do
550
- resources :comments, :only => [:index]
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', :as => 'preview_user', :action => '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', :id => 'agb'
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', :controller => "internal"
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 :to => 'home#index'
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', :as => :auto_complete
685
+ match ':controller/:action' => '#index', as: :auto_complete
686
686
  end
687
687
  EOF
688
688
  runner.prepare('config/routes.rb', content)