rails_best_practices 1.9.1 → 1.10.0

Sign up to get free protection for your applications and to get access to all the features.
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)