rails_best_practices 1.19.3 → 1.19.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -1
  3. data/CHANGELOG.md +4 -0
  4. data/Gemfile +0 -4
  5. data/Gemfile.lock +120 -0
  6. data/README.md +4 -1
  7. data/lib/rails_best_practices.rb +2 -0
  8. data/lib/rails_best_practices/analyzer.rb +5 -4
  9. data/lib/rails_best_practices/cli.rb +22 -0
  10. data/lib/rails_best_practices/command.rb +1 -131
  11. data/lib/rails_best_practices/core/check.rb +24 -23
  12. data/lib/rails_best_practices/core/checks_loader.rb +17 -18
  13. data/lib/rails_best_practices/core/methods.rb +9 -8
  14. data/lib/rails_best_practices/core/model_associations.rb +1 -1
  15. data/lib/rails_best_practices/core/runner.rb +38 -38
  16. data/lib/rails_best_practices/option_parser.rb +140 -0
  17. data/lib/rails_best_practices/prepares/controller_prepare.rb +8 -14
  18. data/lib/rails_best_practices/prepares/gemfile_prepare.rb +1 -1
  19. data/lib/rails_best_practices/prepares/initializer_prepare.rb +3 -3
  20. data/lib/rails_best_practices/prepares/mailer_prepare.rb +1 -1
  21. data/lib/rails_best_practices/prepares/model_prepare.rb +13 -13
  22. data/lib/rails_best_practices/prepares/route_prepare.rb +16 -15
  23. data/lib/rails_best_practices/prepares/schema_prepare.rb +1 -1
  24. data/lib/rails_best_practices/reviews/add_model_virtual_attribute_review.rb +25 -23
  25. data/lib/rails_best_practices/reviews/always_add_db_index_review.rb +73 -72
  26. data/lib/rails_best_practices/reviews/check_destroy_return_value_review.rb +2 -1
  27. data/lib/rails_best_practices/reviews/check_save_return_value_review.rb +4 -3
  28. data/lib/rails_best_practices/reviews/default_scope_is_evil_review.rb +1 -1
  29. data/lib/rails_best_practices/reviews/dry_bundler_in_capistrano_review.rb +1 -1
  30. data/lib/rails_best_practices/reviews/hash_syntax_review.rb +11 -11
  31. data/lib/rails_best_practices/reviews/isolate_seed_data_review.rb +8 -8
  32. data/lib/rails_best_practices/reviews/keep_finders_on_their_own_model_review.rb +5 -5
  33. data/lib/rails_best_practices/reviews/law_of_demeter_review.rb +20 -19
  34. data/lib/rails_best_practices/reviews/move_code_into_controller_review.rb +3 -3
  35. data/lib/rails_best_practices/reviews/move_code_into_helper_review.rb +5 -5
  36. data/lib/rails_best_practices/reviews/move_finder_to_named_scope_review.rb +5 -5
  37. data/lib/rails_best_practices/reviews/needless_deep_nesting_review.rb +13 -13
  38. data/lib/rails_best_practices/reviews/not_rescue_exception_review.rb +1 -1
  39. data/lib/rails_best_practices/reviews/not_use_default_route_review.rb +2 -2
  40. data/lib/rails_best_practices/reviews/not_use_time_ago_in_words_review.rb +1 -1
  41. data/lib/rails_best_practices/reviews/overuse_route_customizations_review.rb +3 -3
  42. data/lib/rails_best_practices/reviews/protect_mass_assignment_review.rb +32 -32
  43. data/lib/rails_best_practices/reviews/remove_empty_helpers_review.rb +4 -4
  44. data/lib/rails_best_practices/reviews/remove_unused_methods_in_controllers_review.rb +14 -14
  45. data/lib/rails_best_practices/reviews/remove_unused_methods_in_helpers_review.rb +6 -6
  46. data/lib/rails_best_practices/reviews/remove_unused_methods_in_models_review.rb +15 -15
  47. data/lib/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review.rb +8 -8
  48. data/lib/rails_best_practices/reviews/restrict_auto_generated_routes_review.rb +71 -70
  49. data/lib/rails_best_practices/reviews/review.rb +2 -1
  50. data/lib/rails_best_practices/reviews/simplify_render_in_controllers_review.rb +1 -1
  51. data/lib/rails_best_practices/reviews/simplify_render_in_views_review.rb +11 -11
  52. data/lib/rails_best_practices/reviews/use_before_filter_review.rb +12 -9
  53. data/lib/rails_best_practices/reviews/use_model_association_review.rb +10 -10
  54. data/lib/rails_best_practices/reviews/use_multipart_alternative_as_content_type_of_email_review.rb +14 -13
  55. data/lib/rails_best_practices/reviews/use_observer_review.rb +20 -20
  56. data/lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb +6 -6
  57. data/lib/rails_best_practices/reviews/use_query_attribute_review.rb +44 -41
  58. data/lib/rails_best_practices/reviews/use_say_with_time_in_migrations_review.rb +7 -7
  59. data/lib/rails_best_practices/reviews/use_scope_access_review.rb +14 -14
  60. data/lib/rails_best_practices/reviews/use_turbo_sprockets_rails3_review.rb +1 -1
  61. data/lib/rails_best_practices/version.rb +1 -1
  62. data/rails_best_practices.gemspec +8 -8
  63. data/spec/rails_best_practices/analyzer_spec.rb +4 -4
  64. data/spec/rails_best_practices/core/error_spec.rb +6 -3
  65. data/spec/rails_best_practices/lexicals/long_line_check_spec.rb +21 -21
  66. data/spec/rails_best_practices/prepares/gemfile_prepare_spec.rb +15 -15
  67. data/spec/rails_best_practices/prepares/route_prepare_spec.rb +17 -15
  68. data/spec/rails_best_practices/reviews/hash_syntax_review_spec.rb +4 -4
  69. data/spec/rails_best_practices/reviews/law_of_demeter_review_spec.rb +8 -8
  70. data/spec/rails_best_practices/reviews/move_code_into_model_review_spec.rb +6 -6
  71. data/spec/rails_best_practices/reviews/protect_mass_assignment_review_spec.rb +4 -2
  72. data/spec/rails_best_practices/reviews/remove_unused_methods_in_controllers_review_spec.rb +6 -4
  73. data/spec/rails_best_practices/reviews/remove_unused_methods_in_helpers_review_spec.rb +8 -6
  74. data/spec/rails_best_practices/reviews/remove_unused_methods_in_models_review_spec.rb +16 -14
  75. data/spec/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review_spec.rb +4 -4
  76. data/spec/rails_best_practices/reviews/use_multipart_alternative_as_content_type_of_email_review_spec.rb +14 -14
  77. data/spec/rails_best_practices/reviews/use_parentheses_in_method_def_review_spec.rb +1 -1
  78. data/spec/rails_best_practices/reviews/use_turbo_sprockets_rails3_review_spec.rb +51 -51
  79. metadata +5 -2
@@ -39,10 +39,10 @@ module RailsBestPractices
39
39
  end
40
40
 
41
41
  it 'should ignore haml_out' do
42
- content = <<-EOF
43
- %div{ class: "foo1" }
44
- .div{ class: "foo2" }
45
- #div{ class: "foo3" }
42
+ content = <<~EOF
43
+ %div{ class: "foo1" }
44
+ .div{ class: "foo2" }
45
+ #div{ class: "foo3" }
46
46
  EOF
47
47
  runner.review('app/views/files/show.html.haml', content)
48
48
  expect(runner.errors.size).to eq(0)
@@ -40,10 +40,10 @@ module RailsBestPractices
40
40
  end
41
41
 
42
42
  it 'should law of demeter with haml' do
43
- content = <<-EOF
44
- = @invoice.user.name
45
- = @invoice.user.address
46
- = @invoice.user.cellphone
43
+ content = <<~EOF
44
+ = @invoice.user.name
45
+ = @invoice.user.address
46
+ = @invoice.user.cellphone
47
47
  EOF
48
48
  runner.review('app/views/invoices/show.html.haml', content)
49
49
  expect(runner.errors.size).to eq(3)
@@ -51,10 +51,10 @@ module RailsBestPractices
51
51
  end
52
52
 
53
53
  it 'should law of demeter with slim' do
54
- content = <<-EOF
55
- = @invoice.user.name
56
- = @invoice.user.address
57
- = @invoice.user.cellphone
54
+ content = <<~EOF
55
+ = @invoice.user.name
56
+ = @invoice.user.address
57
+ = @invoice.user.cellphone
58
58
  EOF
59
59
  runner.review('app/views/invoices/show.html.slim', content)
60
60
  expect(runner.errors.size).to eq(3)
@@ -19,9 +19,9 @@ module RailsBestPractices
19
19
  end
20
20
 
21
21
  it 'should move code into model with haml' do
22
- content = <<-EOF
23
- - if current_user && @post.user && (current_user == @post.user || @post.editors.include?(current_user))
24
- = link_to 'Edit this post', edit_post_url(@post)
22
+ content = <<~EOF
23
+ - if current_user && @post.user && (current_user == @post.user || @post.editors.include?(current_user))
24
+ = link_to 'Edit this post', edit_post_url(@post)
25
25
  EOF
26
26
  runner.review('app/views/posts/show.html.haml', content)
27
27
  expect(runner.errors.size).to eq(1)
@@ -29,9 +29,9 @@ module RailsBestPractices
29
29
  end
30
30
 
31
31
  it 'should move code into model with slim' do
32
- content = <<-EOF
33
- - if current_user && @post.user && (current_user == @post.user || @post.editors.include?(current_user))
34
- = link_to 'Edit this post', edit_post_url(@post)
32
+ content = <<~EOF
33
+ - if current_user && @post.user && (current_user == @post.user || @post.editors.include?(current_user))
34
+ = link_to 'Edit this post', edit_post_url(@post)
35
35
  EOF
36
36
  runner.review('app/views/posts/show.html.slim', content)
37
37
  expect(runner.errors.size).to eq(1)
@@ -5,8 +5,10 @@ require 'spec_helper'
5
5
  module RailsBestPractices
6
6
  module Reviews
7
7
  describe ProtectMassAssignmentReview do
8
- let(:runner) { Core::Runner.new(prepares: [Prepares::GemfilePrepare.new, Prepares::ConfigPrepare.new, Prepares::InitializerPrepare.new],
9
- reviews: ProtectMassAssignmentReview.new) }
8
+ let(:runner) {
9
+ Core::Runner.new(prepares: [Prepares::GemfilePrepare.new, Prepares::ConfigPrepare.new, Prepares::InitializerPrepare.new],
10
+ reviews: ProtectMassAssignmentReview.new)
11
+ }
10
12
 
11
13
  it 'should protect mass assignment' do
12
14
  content = <<-EOF
@@ -5,10 +5,12 @@ require 'spec_helper'
5
5
  module RailsBestPractices
6
6
  module Reviews
7
7
  describe RemoveUnusedMethodsInControllersReview do
8
- let(:runner) { Core::Runner.new(
9
- prepares: [Prepares::ControllerPrepare.new, Prepares::RoutePrepare.new],
10
- reviews: RemoveUnusedMethodsInControllersReview.new('except_methods' => ['ExceptableController#*'])
11
- ) }
8
+ let(:runner) {
9
+ Core::Runner.new(
10
+ prepares: [Prepares::ControllerPrepare.new, Prepares::RoutePrepare.new],
11
+ reviews: RemoveUnusedMethodsInControllersReview.new('except_methods' => ['ExceptableController#*'])
12
+ )
13
+ }
12
14
 
13
15
  context 'private/protected' do
14
16
  it 'should remove unused methods' do
@@ -5,10 +5,12 @@ require 'spec_helper'
5
5
  module RailsBestPractices
6
6
  module Reviews
7
7
  describe RemoveUnusedMethodsInHelpersReview do
8
- let(:runner) { Core::Runner.new(
9
- prepares: [Prepares::ControllerPrepare.new, Prepares::HelperPrepare.new],
10
- reviews: RemoveUnusedMethodsInHelpersReview.new(except_methods: [])
11
- ) }
8
+ let(:runner) {
9
+ Core::Runner.new(
10
+ prepares: [Prepares::ControllerPrepare.new, Prepares::HelperPrepare.new],
11
+ reviews: RemoveUnusedMethodsInHelpersReview.new(except_methods: [])
12
+ )
13
+ }
12
14
 
13
15
  it 'should remove unused methods' do
14
16
  content = <<-EOF
@@ -116,7 +118,7 @@ module RailsBestPractices
116
118
  expect(runner.errors.size).to eq(0)
117
119
  end
118
120
 
119
- it 'should not check ignored files' do
121
+ it 'should not check ignored files' do
120
122
  runner = Core::Runner.new(prepares: [Prepares::ControllerPrepare.new, Prepares::HelperPrepare.new],
121
123
  reviews: RemoveUnusedMethodsInHelpersReview.new(ignored_files: /posts_helper/, except_methods: []))
122
124
 
@@ -129,7 +131,7 @@ module RailsBestPractices
129
131
  runner.review('app/helpers/posts_helper.rb', content)
130
132
  runner.after_review
131
133
  expect(runner.errors.size).to eq(0)
132
- end
134
+ end
133
135
  end
134
136
  end
135
137
  end
@@ -5,10 +5,12 @@ require 'spec_helper'
5
5
  module RailsBestPractices
6
6
  module Reviews
7
7
  describe RemoveUnusedMethodsInModelsReview do
8
- let(:runner) { Core::Runner.new(
9
- prepares: Prepares::ModelPrepare.new,
10
- reviews: RemoveUnusedMethodsInModelsReview.new('except_methods' => ['*#set_cache'])
11
- ) }
8
+ let(:runner) {
9
+ Core::Runner.new(
10
+ prepares: Prepares::ModelPrepare.new,
11
+ reviews: RemoveUnusedMethodsInModelsReview.new('except_methods' => ['*#set_cache'])
12
+ )
13
+ }
12
14
 
13
15
  context 'private' do
14
16
  it 'should remove unused methods' do
@@ -473,7 +475,7 @@ module RailsBestPractices
473
475
  expect(runner.errors.size).to eq(0)
474
476
  end
475
477
 
476
- it 'should not remove unused method with symbol alias' do
478
+ it 'should not remove unused method with symbol alias' do
477
479
  content = <<-EOF
478
480
  class Post < ActiveRecord::Base
479
481
  def old; end
@@ -710,25 +712,25 @@ module RailsBestPractices
710
712
  runner = Core::Runner.new(prepares: Prepares::ModelPrepare.new,
711
713
  reviews: RemoveUnusedMethodsInModelsReview.new(except_methods: [], ignored_files: /post/))
712
714
 
713
- content = <<-EOF
715
+ content = <<-EOF
714
716
  class Post < ActiveRecord::Base
715
717
  def find; end
716
718
  private
717
719
  def find_by_sql; end
718
720
  end
719
- EOF
720
- runner.prepare('app/models/post.rb', content)
721
- runner.review('app/models/post.rb', content)
722
- content = <<-EOF
721
+ EOF
722
+ runner.prepare('app/models/post.rb', content)
723
+ runner.review('app/models/post.rb', content)
724
+ content = <<-EOF
723
725
  class PostsController < ApplicationController
724
726
  def get
725
727
  Post.new.find
726
728
  end
727
729
  end
728
- EOF
729
- runner.review('app/controllers/posts_controller.rb', content)
730
- runner.after_review
731
- expect(runner.errors.size).to eq(0)
730
+ EOF
731
+ runner.review('app/controllers/posts_controller.rb', content)
732
+ runner.after_review
733
+ expect(runner.errors.size).to eq(0)
732
734
  end
733
735
  end
734
736
  end
@@ -17,8 +17,8 @@ module RailsBestPractices
17
17
  end
18
18
 
19
19
  it 'should replace instance variable with local varialbe in haml file' do
20
- content = <<-EOF
21
- = @post.title
20
+ content = <<~EOF
21
+ = @post.title
22
22
  EOF
23
23
  runner.review('app/views/posts/_post.html.haml', content)
24
24
  expect(runner.errors.size).to eq(1)
@@ -26,8 +26,8 @@ module RailsBestPractices
26
26
  end
27
27
 
28
28
  it 'should replace instance variable with local varialbe in slim file' do
29
- content = <<-EOF
30
- = @post.title
29
+ content = <<~EOF
30
+ = @post.title
31
31
  EOF
32
32
  runner.review('app/views/posts/_post.html.slim', content)
33
33
  expect(runner.errors.size).to eq(1)
@@ -14,20 +14,20 @@ module RailsBestPractices
14
14
  end
15
15
 
16
16
  before do
17
- content = <<-EOF
18
- GEM
19
- remote: https://rubygems.org
20
- specs:
21
- rails (3.2.13)
22
- actionmailer (= 3.2.13)
23
- actionpack (= 3.2.13)
24
- activerecord (= 3.2.13)
25
- activeresource (= 3.2.13)
26
- activesupport (= 3.2.13)
27
- bundler (~> 1.0)
28
- railties (= 3.2.13)
29
- EOF
30
- runner.prepare('Gemfile.lock', content)
17
+ content = <<~EOF
18
+ GEM
19
+ remote: https://rubygems.org
20
+ specs:
21
+ rails (3.2.13)
22
+ actionmailer (= 3.2.13)
23
+ actionpack (= 3.2.13)
24
+ activerecord (= 3.2.13)
25
+ activeresource (= 3.2.13)
26
+ activesupport (= 3.2.13)
27
+ bundler (~> 1.0)
28
+ railties (= 3.2.13)
29
+ EOF
30
+ runner.prepare('Gemfile.lock', content)
31
31
  end
32
32
 
33
33
  context 'project_mailer' do
@@ -41,7 +41,7 @@ module RailsBestPractices
41
41
 
42
42
  it 'should not check ignored files' do
43
43
  runner = Core::Runner.new(reviews: UseParenthesesInMethodDefReview.new(ignored_files: /posts_controller/))
44
- content = <<-EOF
44
+ content = <<-EOF
45
45
  class PostsController < ApplicationController
46
46
  def edit foo, bar
47
47
  end
@@ -8,18 +8,18 @@ module RailsBestPractices
8
8
  let(:runner) { Core::Runner.new(prepares: Prepares::GemfilePrepare.new, reviews: UseTurboSprocketsRails3Review.new) }
9
9
 
10
10
  it 'should use turbo-sprockets-rails3' do
11
- content = <<-EOF
12
- GEM
13
- remote: https://rubygems.org
14
- specs:
15
- rails (3.2.13)
16
- actionmailer (= 3.2.13)
17
- actionpack (= 3.2.13)
18
- activerecord (= 3.2.13)
19
- activeresource (= 3.2.13)
20
- activesupport (= 3.2.13)
21
- bundler (~> 1.0)
22
- railties (= 3.2.13)
11
+ content = <<~EOF
12
+ GEM
13
+ remote: https://rubygems.org
14
+ specs:
15
+ rails (3.2.13)
16
+ actionmailer (= 3.2.13)
17
+ actionpack (= 3.2.13)
18
+ activerecord (= 3.2.13)
19
+ activeresource (= 3.2.13)
20
+ activesupport (= 3.2.13)
21
+ bundler (~> 1.0)
22
+ railties (= 3.2.13)
23
23
  EOF
24
24
  runner.prepare('Gemfile.lock', content)
25
25
  content = <<-EOF
@@ -33,21 +33,21 @@ GEM
33
33
  end
34
34
 
35
35
  it 'should not use turbo-sprockets-rails3 with turbo-sprockets-rails3 gem' do
36
- content = <<-EOF
37
- GEM
38
- remote: https://rubygems.org
39
- specs:
40
- rails (3.2.13)
41
- actionmailer (= 3.2.13)
42
- actionpack (= 3.2.13)
43
- activerecord (= 3.2.13)
44
- activeresource (= 3.2.13)
45
- activesupport (= 3.2.13)
46
- bundler (~> 1.0)
47
- railties (= 3.2.13)
48
- turbo-sprockets-rails3 (0.3.6)
49
- railties (> 3.2.8, < 4.0.0)
50
- sprockets (>= 2.0.0)
36
+ content = <<~EOF
37
+ GEM
38
+ remote: https://rubygems.org
39
+ specs:
40
+ rails (3.2.13)
41
+ actionmailer (= 3.2.13)
42
+ actionpack (= 3.2.13)
43
+ activerecord (= 3.2.13)
44
+ activeresource (= 3.2.13)
45
+ activesupport (= 3.2.13)
46
+ bundler (~> 1.0)
47
+ railties (= 3.2.13)
48
+ turbo-sprockets-rails3 (0.3.6)
49
+ railties (> 3.2.8, < 4.0.0)
50
+ sprockets (>= 2.0.0)
51
51
  EOF
52
52
  runner.prepare('Gemfile.lock', content)
53
53
  content = <<-EOF
@@ -70,18 +70,18 @@ GEM
70
70
  end
71
71
 
72
72
  it 'should not use turbo-sprockets-rails3 with rails4 gem' do
73
- content = <<-EOF
74
- GEM
75
- remote: https://rubygems.org
76
- specs:
77
- rails (4.0.0)
78
- actionmailer (= 4.0.0)
79
- actionpack (= 4.0.0)
80
- activerecord (= 4.0.0)
81
- activeresource (= 4.0.0)
82
- activesupport (= 4.0.0)
83
- bundler (~> 1.0)
84
- railties (= 3.2.13)
73
+ content = <<~EOF
74
+ GEM
75
+ remote: https://rubygems.org
76
+ specs:
77
+ rails (4.0.0)
78
+ actionmailer (= 4.0.0)
79
+ actionpack (= 4.0.0)
80
+ activerecord (= 4.0.0)
81
+ activeresource (= 4.0.0)
82
+ activesupport (= 4.0.0)
83
+ bundler (~> 1.0)
84
+ railties (= 3.2.13)
85
85
  EOF
86
86
  runner.prepare('Gemfile.lock', content)
87
87
  content = <<-EOF
@@ -96,18 +96,18 @@ GEM
96
96
  it 'should not check ignored files' do
97
97
  runner = Core::Runner.new(prepares: Prepares::GemfilePrepare.new,
98
98
  reviews: UseTurboSprocketsRails3Review.new(ignored_files: /Capfile/))
99
- content = <<-EOF
100
- GEM
101
- remote: https://rubygems.org
102
- specs:
103
- rails (3.2.13)
104
- actionmailer (= 3.2.13)
105
- actionpack (= 3.2.13)
106
- activerecord (= 3.2.13)
107
- activeresource (= 3.2.13)
108
- activesupport (= 3.2.13)
109
- bundler (~> 1.0)
110
- railties (= 3.2.13)
99
+ content = <<~EOF
100
+ GEM
101
+ remote: https://rubygems.org
102
+ specs:
103
+ rails (3.2.13)
104
+ actionmailer (= 3.2.13)
105
+ actionpack (= 3.2.13)
106
+ activerecord (= 3.2.13)
107
+ activeresource (= 3.2.13)
108
+ activesupport (= 3.2.13)
109
+ bundler (~> 1.0)
110
+ railties (= 3.2.13)
111
111
  EOF
112
112
  runner.prepare('Gemfile.lock', content)
113
113
  content = <<-EOF
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_best_practices
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.19.3
4
+ version: 1.19.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Huang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-22 00:00:00.000000000 Z
11
+ date: 2018-10-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -205,6 +205,7 @@ files:
205
205
  - ".travis.yml"
206
206
  - CHANGELOG.md
207
207
  - Gemfile
208
+ - Gemfile.lock
208
209
  - Guardfile
209
210
  - MIT_LICENSE
210
211
  - README.md
@@ -213,6 +214,7 @@ files:
213
214
  - bin/rails_best_practices
214
215
  - lib/rails_best_practices.rb
215
216
  - lib/rails_best_practices/analyzer.rb
217
+ - lib/rails_best_practices/cli.rb
216
218
  - lib/rails_best_practices/colorize.rb
217
219
  - lib/rails_best_practices/command.rb
218
220
  - lib/rails_best_practices/core.rb
@@ -237,6 +239,7 @@ files:
237
239
  - lib/rails_best_practices/lexicals/long_line_check.rb
238
240
  - lib/rails_best_practices/lexicals/remove_tab_check.rb
239
241
  - lib/rails_best_practices/lexicals/remove_trailing_whitespace_check.rb
242
+ - lib/rails_best_practices/option_parser.rb
240
243
  - lib/rails_best_practices/prepares.rb
241
244
  - lib/rails_best_practices/prepares/config_prepare.rb
242
245
  - lib/rails_best_practices/prepares/controller_prepare.rb