rails_best_practices 1.19.1 → 1.19.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (158) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/Guardfile +1 -1
  4. data/README.md +1 -0
  5. data/Rakefile +2 -2
  6. data/bin/rails_best_practices +2 -1
  7. data/lib/rails_best_practices.rb +2 -1
  8. data/lib/rails_best_practices/analyzer.rb +13 -12
  9. data/lib/rails_best_practices/colorize.rb +2 -0
  10. data/lib/rails_best_practices/command.rb +6 -5
  11. data/lib/rails_best_practices/core.rb +2 -1
  12. data/lib/rails_best_practices/core/check.rb +19 -17
  13. data/lib/rails_best_practices/core/checks_loader.rb +3 -2
  14. data/lib/rails_best_practices/core/configs.rb +2 -1
  15. data/lib/rails_best_practices/core/controllers.rb +4 -1
  16. data/lib/rails_best_practices/core/error.rb +3 -2
  17. data/lib/rails_best_practices/core/gems.rb +4 -3
  18. data/lib/rails_best_practices/core/helpers.rb +4 -1
  19. data/lib/rails_best_practices/core/klasses.rb +3 -2
  20. data/lib/rails_best_practices/core/mailers.rb +2 -1
  21. data/lib/rails_best_practices/core/methods.rb +9 -10
  22. data/lib/rails_best_practices/core/model_associations.rb +6 -5
  23. data/lib/rails_best_practices/core/model_attributes.rb +2 -1
  24. data/lib/rails_best_practices/core/models.rb +2 -1
  25. data/lib/rails_best_practices/core/modules.rb +2 -1
  26. data/lib/rails_best_practices/core/routes.rb +2 -1
  27. data/lib/rails_best_practices/core/runner.rb +7 -6
  28. data/lib/rails_best_practices/core_ext/erubis.rb +4 -5
  29. data/lib/rails_best_practices/lexicals.rb +2 -1
  30. data/lib/rails_best_practices/lexicals/long_line_check.rb +2 -1
  31. data/lib/rails_best_practices/lexicals/remove_tab_check.rb +2 -1
  32. data/lib/rails_best_practices/lexicals/remove_trailing_whitespace_check.rb +2 -1
  33. data/lib/rails_best_practices/prepares.rb +2 -1
  34. data/lib/rails_best_practices/prepares/config_prepare.rb +3 -2
  35. data/lib/rails_best_practices/prepares/controller_prepare.rb +9 -8
  36. data/lib/rails_best_practices/prepares/gemfile_prepare.rb +2 -1
  37. data/lib/rails_best_practices/prepares/helper_prepare.rb +4 -3
  38. data/lib/rails_best_practices/prepares/initializer_prepare.rb +2 -1
  39. data/lib/rails_best_practices/prepares/mailer_prepare.rb +3 -2
  40. data/lib/rails_best_practices/prepares/model_prepare.rb +12 -12
  41. data/lib/rails_best_practices/prepares/route_prepare.rb +8 -7
  42. data/lib/rails_best_practices/prepares/schema_prepare.rb +3 -2
  43. data/lib/rails_best_practices/reviews.rb +2 -1
  44. data/lib/rails_best_practices/reviews/add_model_virtual_attribute_review.rb +7 -4
  45. data/lib/rails_best_practices/reviews/always_add_db_index_review.rb +8 -7
  46. data/lib/rails_best_practices/reviews/check_destroy_return_value_review.rb +4 -3
  47. data/lib/rails_best_practices/reviews/check_save_return_value_review.rb +5 -4
  48. data/lib/rails_best_practices/reviews/default_scope_is_evil_review.rb +2 -1
  49. data/lib/rails_best_practices/reviews/dry_bundler_in_capistrano_review.rb +2 -1
  50. data/lib/rails_best_practices/reviews/hash_syntax_review.rb +2 -1
  51. data/lib/rails_best_practices/reviews/isolate_seed_data_review.rb +3 -2
  52. data/lib/rails_best_practices/reviews/keep_finders_on_their_own_model_review.rb +3 -2
  53. data/lib/rails_best_practices/reviews/law_of_demeter_review.rb +3 -2
  54. data/lib/rails_best_practices/reviews/move_code_into_controller_review.rb +3 -2
  55. data/lib/rails_best_practices/reviews/move_code_into_helper_review.rb +2 -1
  56. data/lib/rails_best_practices/reviews/move_code_into_model_review.rb +3 -2
  57. data/lib/rails_best_practices/reviews/move_finder_to_named_scope_review.rb +3 -2
  58. data/lib/rails_best_practices/reviews/move_model_logic_into_model_review.rb +3 -2
  59. data/lib/rails_best_practices/reviews/needless_deep_nesting_review.rb +5 -4
  60. data/lib/rails_best_practices/reviews/not_rescue_exception_review.rb +2 -1
  61. data/lib/rails_best_practices/reviews/not_use_default_route_review.rb +2 -1
  62. data/lib/rails_best_practices/reviews/not_use_time_ago_in_words_review.rb +2 -1
  63. data/lib/rails_best_practices/reviews/overuse_route_customizations_review.rb +3 -2
  64. data/lib/rails_best_practices/reviews/protect_mass_assignment_review.rb +4 -3
  65. data/lib/rails_best_practices/reviews/remove_empty_helpers_review.rb +2 -1
  66. data/lib/rails_best_practices/reviews/remove_unused_methods_in_controllers_review.rb +11 -10
  67. data/lib/rails_best_practices/reviews/remove_unused_methods_in_helpers_review.rb +4 -3
  68. data/lib/rails_best_practices/reviews/remove_unused_methods_in_models_review.rb +6 -5
  69. data/lib/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review.rb +2 -2
  70. data/lib/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review.rb +2 -1
  71. data/lib/rails_best_practices/reviews/restrict_auto_generated_routes_review.rb +8 -8
  72. data/lib/rails_best_practices/reviews/review.rb +4 -3
  73. data/lib/rails_best_practices/reviews/simplify_render_in_controllers_review.rb +2 -1
  74. data/lib/rails_best_practices/reviews/simplify_render_in_views_review.rb +3 -2
  75. data/lib/rails_best_practices/reviews/use_before_filter_review.rb +5 -4
  76. data/lib/rails_best_practices/reviews/use_model_association_review.rb +2 -2
  77. data/lib/rails_best_practices/reviews/use_multipart_alternative_as_content_type_of_email_review.rb +5 -5
  78. data/lib/rails_best_practices/reviews/use_observer_review.rb +2 -1
  79. data/lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb +2 -1
  80. data/lib/rails_best_practices/reviews/use_query_attribute_review.rb +4 -3
  81. data/lib/rails_best_practices/reviews/use_say_with_time_in_migrations_review.rb +4 -3
  82. data/lib/rails_best_practices/reviews/use_scope_access_review.rb +2 -1
  83. data/lib/rails_best_practices/reviews/use_turbo_sprockets_rails3_review.rb +2 -1
  84. data/lib/rails_best_practices/version.rb +3 -2
  85. data/rails_best_practices.gemspec +11 -10
  86. data/spec/fixtures/lib/rails_best_practices/plugins/reviews/not_use_rails_root_review.rb +3 -2
  87. data/spec/rails_best_practices/analyzer_spec.rb +6 -8
  88. data/spec/rails_best_practices/core/check_spec.rb +2 -0
  89. data/spec/rails_best_practices/core/checks_loader_spec.rb +2 -0
  90. data/spec/rails_best_practices/core/configs_spec.rb +2 -0
  91. data/spec/rails_best_practices/core/controllers_spec.rb +2 -0
  92. data/spec/rails_best_practices/core/error_spec.rb +2 -0
  93. data/spec/rails_best_practices/core/except_methods_spec.rb +2 -0
  94. data/spec/rails_best_practices/core/gems_spec.rb +2 -0
  95. data/spec/rails_best_practices/core/helpers_spec.rb +2 -0
  96. data/spec/rails_best_practices/core/klasses_spec.rb +2 -0
  97. data/spec/rails_best_practices/core/mailers_spec.rb +2 -0
  98. data/spec/rails_best_practices/core/methods_spec.rb +6 -4
  99. data/spec/rails_best_practices/core/model_associations_spec.rb +4 -2
  100. data/spec/rails_best_practices/core/model_attributes_spec.rb +2 -0
  101. data/spec/rails_best_practices/core/models_spec.rb +2 -0
  102. data/spec/rails_best_practices/core/modules_spec.rb +2 -0
  103. data/spec/rails_best_practices/core/routes_spec.rb +4 -2
  104. data/spec/rails_best_practices/core/runner_spec.rb +2 -0
  105. data/spec/rails_best_practices/core_ext/erubis_spec.rb +3 -1
  106. data/spec/rails_best_practices/lexicals/long_line_check_spec.rb +8 -7
  107. data/spec/rails_best_practices/lexicals/remove_tab_check_spec.rb +8 -6
  108. data/spec/rails_best_practices/lexicals/remove_trailing_whitespace_check_spec.rb +9 -7
  109. data/spec/rails_best_practices/prepares/config_prepare_spec.rb +3 -1
  110. data/spec/rails_best_practices/prepares/controller_prepare_spec.rb +23 -21
  111. data/spec/rails_best_practices/prepares/gemfile_prepare_spec.rb +3 -1
  112. data/spec/rails_best_practices/prepares/helper_prepare_spec.rb +7 -5
  113. data/spec/rails_best_practices/prepares/initializer_prepare_spec.rb +4 -2
  114. data/spec/rails_best_practices/prepares/mailer_prepare_spec.rb +3 -1
  115. data/spec/rails_best_practices/prepares/model_prepare_spec.rb +56 -54
  116. data/spec/rails_best_practices/prepares/route_prepare_spec.rb +39 -37
  117. data/spec/rails_best_practices/prepares/schema_prepare_spec.rb +3 -1
  118. data/spec/rails_best_practices/reviews/add_model_virtual_attribute_review_spec.rb +2 -0
  119. data/spec/rails_best_practices/reviews/always_add_db_index_review_spec.rb +7 -5
  120. data/spec/rails_best_practices/reviews/check_destroy_return_value_review_spec.rb +12 -10
  121. data/spec/rails_best_practices/reviews/check_save_return_value_review_spec.rb +20 -18
  122. data/spec/rails_best_practices/reviews/default_scope_is_evil_review_spec.rb +2 -0
  123. data/spec/rails_best_practices/reviews/dry_bundler_in_capistrano_review_spec.rb +2 -0
  124. data/spec/rails_best_practices/reviews/hash_syntax_review_spec.rb +9 -7
  125. data/spec/rails_best_practices/reviews/isolate_seed_data_review_spec.rb +2 -0
  126. data/spec/rails_best_practices/reviews/keep_finders_on_their_own_model_review_spec.rb +2 -0
  127. data/spec/rails_best_practices/reviews/law_of_demeter_review_spec.rb +2 -0
  128. data/spec/rails_best_practices/reviews/move_code_into_controller_review_spec.rb +2 -0
  129. data/spec/rails_best_practices/reviews/move_code_into_helper_review_spec.rb +2 -0
  130. data/spec/rails_best_practices/reviews/move_code_into_model_review_spec.rb +11 -9
  131. data/spec/rails_best_practices/reviews/move_finder_to_named_scope_review_spec.rb +2 -0
  132. data/spec/rails_best_practices/reviews/move_model_logic_into_model_review_spec.rb +2 -0
  133. data/spec/rails_best_practices/reviews/needless_deep_nesting_review_spec.rb +2 -0
  134. data/spec/rails_best_practices/reviews/not_rescue_exception_review_spec.rb +9 -7
  135. data/spec/rails_best_practices/reviews/not_use_default_route_review_spec.rb +2 -0
  136. data/spec/rails_best_practices/reviews/not_use_time_ago_in_words_review_spec.rb +7 -5
  137. data/spec/rails_best_practices/reviews/overuse_route_customizations_review_spec.rb +2 -0
  138. data/spec/rails_best_practices/reviews/protect_mass_assignment_review_spec.rb +21 -19
  139. data/spec/rails_best_practices/reviews/remove_empty_helpers_review_spec.rb +6 -4
  140. data/spec/rails_best_practices/reviews/remove_unused_methods_in_controllers_review_spec.rb +33 -31
  141. data/spec/rails_best_practices/reviews/remove_unused_methods_in_helpers_review_spec.rb +13 -11
  142. data/spec/rails_best_practices/reviews/remove_unused_methods_in_models_review_spec.rb +65 -63
  143. data/spec/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review_spec.rb +2 -0
  144. data/spec/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review_spec.rb +2 -0
  145. data/spec/rails_best_practices/reviews/restrict_auto_generated_routes_review_spec.rb +24 -22
  146. data/spec/rails_best_practices/reviews/simplify_render_in_controllers_review_spec.rb +9 -7
  147. data/spec/rails_best_practices/reviews/simplify_render_in_views_review_spec.rb +13 -11
  148. data/spec/rails_best_practices/reviews/use_before_filter_review_spec.rb +3 -1
  149. data/spec/rails_best_practices/reviews/use_model_association_review_spec.rb +2 -0
  150. data/spec/rails_best_practices/reviews/use_multipart_alternative_as_content_type_of_email_review_spec.rb +2 -0
  151. data/spec/rails_best_practices/reviews/use_observer_review_spec.rb +7 -5
  152. data/spec/rails_best_practices/reviews/use_parentheses_in_method_def_review_spec.rb +2 -0
  153. data/spec/rails_best_practices/reviews/use_query_attribute_review_spec.rb +3 -1
  154. data/spec/rails_best_practices/reviews/use_say_with_time_in_migrations_review_spec.rb +9 -7
  155. data/spec/rails_best_practices/reviews/use_scope_access_review_spec.rb +2 -0
  156. data/spec/rails_best_practices/reviews/use_turbo_sprockets_rails3_review_spec.rb +2 -0
  157. data/spec/spec_helper.rb +2 -0
  158. metadata +26 -26
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  module RailsBestPractices
@@ -9,7 +11,7 @@ module RailsBestPractices
9
11
  ) }
10
12
 
11
13
  it 'should remove unused methods' do
12
- content =<<-EOF
14
+ content = <<-EOF
13
15
  module PostsHelper
14
16
  def unused; end
15
17
  end
@@ -22,14 +24,14 @@ module RailsBestPractices
22
24
  end
23
25
 
24
26
  it 'should not remove unused methods if called on views' do
25
- content =<<-EOF
27
+ content = <<-EOF
26
28
  module PostsHelper
27
29
  def used?(post); end
28
30
  end
29
31
  EOF
30
32
  runner.prepare('app/helpers/posts_helper.rb', content)
31
33
  runner.review('app/helpers/posts_helper.rb', content)
32
- content =<<-EOF
34
+ content = <<-EOF
33
35
  <% if used?(@post) %>
34
36
  <% end %>
35
37
  EOF
@@ -39,7 +41,7 @@ module RailsBestPractices
39
41
  end
40
42
 
41
43
  it 'should not remove unused methods if called on helpers' do
42
- content =<<-EOF
44
+ content = <<-EOF
43
45
  module PostsHelper
44
46
  def used?(post)
45
47
  test?(post)
@@ -50,7 +52,7 @@ module RailsBestPractices
50
52
  EOF
51
53
  runner.prepare('app/helpers/posts_helper.rb', content)
52
54
  runner.review('app/helpers/posts_helper.rb', content)
53
- content =<<-EOF
55
+ content = <<-EOF
54
56
  <% if used?(@post) %>
55
57
  <% end %>
56
58
  EOF
@@ -60,12 +62,12 @@ module RailsBestPractices
60
62
  end
61
63
 
62
64
  it 'should not remove unused methods if called on controllers' do
63
- helper_content =<<-EOF
65
+ helper_content = <<-EOF
64
66
  module PostsHelper
65
67
  def used?(post); end
66
68
  end
67
69
  EOF
68
- controller_content =<<-EOF
70
+ controller_content = <<-EOF
69
71
  class PostsController < InheritedResources::Base
70
72
  include PostsHelper
71
73
 
@@ -85,17 +87,17 @@ module RailsBestPractices
85
87
  end
86
88
 
87
89
  it 'should not remove unused methods if called in descendant controllers' do
88
- application_helper_content =<<-EOF
90
+ application_helper_content = <<-EOF
89
91
  module ApplicationHelper
90
92
  def admin?; end
91
93
  end
92
94
  EOF
93
- application_controller_content =<<-EOF
95
+ application_controller_content = <<-EOF
94
96
  class ApplicationController
95
97
  include ApplicationHelper
96
98
  end
97
99
  EOF
98
- controller_content =<<-EOF
100
+ controller_content = <<-EOF
99
101
  class PostsController < ApplicationController
100
102
 
101
103
  def show
@@ -118,7 +120,7 @@ module RailsBestPractices
118
120
  runner = Core::Runner.new(prepares: [Prepares::ControllerPrepare.new, Prepares::HelperPrepare.new],
119
121
  reviews: RemoveUnusedMethodsInHelpersReview.new(ignored_files: /posts_helper/, except_methods: []))
120
122
 
121
- content =<<-EOF
123
+ content = <<-EOF
122
124
  module PostsHelper
123
125
  def unused; end
124
126
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  module RailsBestPractices
@@ -5,12 +7,12 @@ module RailsBestPractices
5
7
  describe RemoveUnusedMethodsInModelsReview do
6
8
  let(:runner) { Core::Runner.new(
7
9
  prepares: Prepares::ModelPrepare.new,
8
- reviews: RemoveUnusedMethodsInModelsReview.new({'except_methods' => ['*#set_cache']})
10
+ reviews: RemoveUnusedMethodsInModelsReview.new('except_methods' => ['*#set_cache'])
9
11
  ) }
10
12
 
11
13
  context 'private' do
12
14
  it 'should remove unused methods' do
13
- content =<<-EOF
15
+ content = <<-EOF
14
16
  class Post < ActiveRecord::Base
15
17
  def find; end
16
18
  private
@@ -19,7 +21,7 @@ module RailsBestPractices
19
21
  EOF
20
22
  runner.prepare('app/models/post.rb', content)
21
23
  runner.review('app/models/post.rb', content)
22
- content =<<-EOF
24
+ content = <<-EOF
23
25
  class PostsController < ApplicationController
24
26
  def get
25
27
  Post.new.find
@@ -33,7 +35,7 @@ module RailsBestPractices
33
35
  end
34
36
 
35
37
  it 'should not remove unused methods with except_methods' do
36
- content =<<-EOF
38
+ content = <<-EOF
37
39
  class Post < ActiveRecord::Base
38
40
  def set_cache; end
39
41
  end
@@ -45,7 +47,7 @@ module RailsBestPractices
45
47
  end
46
48
 
47
49
  it 'should not remove unused methods with var_ref' do
48
- content =<<-EOF
50
+ content = <<-EOF
49
51
  class Post < ActiveRecord::Base
50
52
  def find
51
53
  find_by_sql
@@ -56,7 +58,7 @@ module RailsBestPractices
56
58
  EOF
57
59
  runner.prepare('app/models/post.rb', content)
58
60
  runner.review('app/models/post.rb', content)
59
- content =<<-EOF
61
+ content = <<-EOF
60
62
  class PostsController < ApplicationController
61
63
  def get
62
64
  Post.new.find
@@ -69,7 +71,7 @@ module RailsBestPractices
69
71
  end
70
72
 
71
73
  it 'should not remove unused methods with callback' do
72
- content =<<-EOF
74
+ content = <<-EOF
73
75
  class Post < ActiveRecord::Base
74
76
  after_save :expire_cache
75
77
  private
@@ -83,7 +85,7 @@ module RailsBestPractices
83
85
  end
84
86
 
85
87
  it 'should not remove unused method with command' do
86
- content =<<-EOF
88
+ content = <<-EOF
87
89
  class Post < ActiveRecord::Base
88
90
  def fetch
89
91
  get(position: 'first')
@@ -94,7 +96,7 @@ module RailsBestPractices
94
96
  EOF
95
97
  runner.prepare('app/models/post.rb', content)
96
98
  runner.review('app/models/post.rb', content)
97
- content =<<-EOF
99
+ content = <<-EOF
98
100
  class PostsController < ApplicationController
99
101
  def get
100
102
  Post.new.fetch
@@ -107,7 +109,7 @@ module RailsBestPractices
107
109
  end
108
110
 
109
111
  it 'should not remove unused method with call' do
110
- content =<<-EOF
112
+ content = <<-EOF
111
113
  class Post < ActiveRecord::Base
112
114
  def conditions
113
115
  self.build_conditions({})
@@ -118,7 +120,7 @@ module RailsBestPractices
118
120
  EOF
119
121
  runner.prepare('app/models/post.rb', content)
120
122
  runner.review('app/models/post.rb', content)
121
- content =<<-EOF
123
+ content = <<-EOF
122
124
  class PostsController < ApplicationController
123
125
  def get
124
126
  Post.new.conditions
@@ -131,7 +133,7 @@ module RailsBestPractices
131
133
  end
132
134
 
133
135
  it 'should not remove unused method with message' do
134
- content =<<-EOF
136
+ content = <<-EOF
135
137
  class Post < ActiveRecord::Base
136
138
  def save
137
139
  transaction true do
@@ -144,7 +146,7 @@ module RailsBestPractices
144
146
  EOF
145
147
  runner.prepare('app/models/post.rb', content)
146
148
  runner.review('app/models/post.rb', content)
147
- content =<<-EOF
149
+ content = <<-EOF
148
150
  class PostsController < ApplicationController
149
151
  def create
150
152
  Post.new.save
@@ -157,7 +159,7 @@ module RailsBestPractices
157
159
  end
158
160
 
159
161
  it 'should not remove unused method with validation condition' do
160
- content =<<-EOF
162
+ content = <<-EOF
161
163
  class Post < ActiveRecord::Base
162
164
  validates_uniqueness_of :login, if: :email_blank?
163
165
  private
@@ -171,7 +173,7 @@ module RailsBestPractices
171
173
  end
172
174
 
173
175
  it 'should not remove unused method with aasm' do
174
- content =<<-EOF
176
+ content = <<-EOF
175
177
  class Post < ActiveRecord::Base
176
178
  aasm_state :accepted, enter: [:update_datetime]
177
179
  private
@@ -185,7 +187,7 @@ module RailsBestPractices
185
187
  end
186
188
 
187
189
  it 'should not remove unused method with initialize' do
188
- content =<<-EOF
190
+ content = <<-EOF
189
191
  class Post < ActiveRecord::Base
190
192
  private
191
193
  def initialize; end
@@ -200,7 +202,7 @@ module RailsBestPractices
200
202
 
201
203
  context 'public' do
202
204
  it 'should remove unused methods' do
203
- content =<<-EOF
205
+ content = <<-EOF
204
206
  class Post < ActiveRecord::Base
205
207
  def fetch; end
206
208
  end
@@ -212,13 +214,13 @@ module RailsBestPractices
212
214
  end
213
215
 
214
216
  it 'should not remove unused methods' do
215
- content =<<-EOF
217
+ content = <<-EOF
216
218
  class Post < ActiveRecord::Base
217
219
  def fetch; end
218
220
  end
219
221
  EOF
220
222
  runner.prepare('app/models/post.rb', content)
221
- content =<<-EOF
223
+ content = <<-EOF
222
224
  class PostsController < ApplicationController
223
225
  def show
224
226
  @post.fetch
@@ -231,7 +233,7 @@ module RailsBestPractices
231
233
  end
232
234
 
233
235
  it 'should not remove unused methods for attribute assignment' do
234
- content =<<-EOF
236
+ content = <<-EOF
235
237
  class Post < ActiveRecord::Base
236
238
  def user=(user); end
237
239
  end
@@ -243,14 +245,14 @@ module RailsBestPractices
243
245
  end
244
246
 
245
247
  it 'should not remove unused methods for try' do
246
- content =<<-EOF
248
+ content = <<-EOF
247
249
  class Post < ActiveRecord::Base
248
250
  def find(user_id); end
249
251
  end
250
252
  EOF
251
253
  runner.prepare('app/models/post.rb', content)
252
254
  runner.review('app/models/post.rb', content)
253
- content =<<-EOF
255
+ content = <<-EOF
254
256
  class PostsController < ApplicationController
255
257
  def find
256
258
  Post.new.try(:find, current_user.id)
@@ -263,14 +265,14 @@ module RailsBestPractices
263
265
  end
264
266
 
265
267
  it 'should not remove unused methods for send' do
266
- content =<<-EOF
268
+ content = <<-EOF
267
269
  class Post < ActiveRecord::Base
268
270
  def find(user_id); end
269
271
  end
270
272
  EOF
271
273
  runner.prepare('app/models/post.rb', content)
272
274
  runner.review('app/models/post.rb', content)
273
- content =<<-EOF
275
+ content = <<-EOF
274
276
  class PostsController < ApplicationController
275
277
  def find
276
278
  Post.new.send(:find, current_user.id)
@@ -283,14 +285,14 @@ module RailsBestPractices
283
285
  end
284
286
 
285
287
  it 'should remove unused methods for send string_embexpre' do
286
- content =<<-EOF
288
+ content = <<-EOF
287
289
  class Post < ActiveRecord::Base
288
290
  def find_first; end
289
291
  end
290
292
  EOF
291
293
  runner.prepare('app/models/post.rb', content)
292
294
  runner.review('app/models/post.rb', content)
293
- content =<<-EOF
295
+ content = <<-EOF
294
296
  class PostsController < ApplicationController
295
297
  def find
296
298
  type = "first"
@@ -304,14 +306,14 @@ module RailsBestPractices
304
306
  end
305
307
 
306
308
  it 'should remove unused methods for send variable' do
307
- content =<<-EOF
309
+ content = <<-EOF
308
310
  class Post < ActiveRecord::Base
309
311
  def first; end
310
312
  end
311
313
  EOF
312
314
  runner.prepare('app/models/post.rb', content)
313
315
  runner.review('app/models/post.rb', content)
314
- content =<<-EOF
316
+ content = <<-EOF
315
317
  class PostsController < ApplicationController
316
318
  def find
317
319
  type = "first"
@@ -327,7 +329,7 @@ module RailsBestPractices
327
329
 
328
330
  context 'protected' do
329
331
  it 'should not remove unused methods' do
330
- content =<<-EOF
332
+ content = <<-EOF
331
333
  class Post < ActiveRecord::Base
332
334
  protected
333
335
  def test; end
@@ -335,7 +337,7 @@ module RailsBestPractices
335
337
  EOF
336
338
  runner.prepare('app/models/post.rb', content)
337
339
  runner.review('app/models/post.rb', content)
338
- content =<<-EOF
340
+ content = <<-EOF
339
341
  class PostsController < ApplicationController
340
342
  def test
341
343
  Post.new.test
@@ -349,13 +351,13 @@ module RailsBestPractices
349
351
  end
350
352
 
351
353
  it 'should not remove unused methods' do
352
- post_content =<<-EOF
354
+ post_content = <<-EOF
353
355
  class Post < ActiveRecord::Base
354
356
  protected
355
357
  def test; end
356
358
  end
357
359
  EOF
358
- blog_post_content =<<-EOF
360
+ blog_post_content = <<-EOF
359
361
  class BlogPost < Post
360
362
  def play
361
363
  test
@@ -366,7 +368,7 @@ module RailsBestPractices
366
368
  runner.prepare('app/models/blog_post.rb', blog_post_content)
367
369
  runner.review('app/models/post.rb', post_content)
368
370
  runner.review('app/models/blog_post.rb', blog_post_content)
369
- content =<<-EOF
371
+ content = <<-EOF
370
372
  class BlogPostsController < ApplicationController
371
373
  def play
372
374
  BlogPost.new.play
@@ -381,14 +383,14 @@ module RailsBestPractices
381
383
 
382
384
  context 'named_scope' do
383
385
  it 'should not remove unused named_scope' do
384
- content =<<-EOF
386
+ content = <<-EOF
385
387
  class Post < ActiveRecord::Base
386
388
  named_scope :active, conditions: {active: true}
387
389
  end
388
390
  EOF
389
391
  runner.prepare('app/models/post.rb', content)
390
392
  runner.review('app/models/post.rb', content)
391
- content =<<-EOF
393
+ content = <<-EOF
392
394
  class PostsController < ApplicationController
393
395
  def index
394
396
  @posts = Post.active
@@ -401,7 +403,7 @@ module RailsBestPractices
401
403
  end
402
404
 
403
405
  it 'should remove unused named_scope' do
404
- content =<<-EOF
406
+ content = <<-EOF
405
407
  class Post < ActiveRecord::Base
406
408
  named_scope :active, conditions: {active: true}
407
409
  end
@@ -416,14 +418,14 @@ module RailsBestPractices
416
418
 
417
419
  context 'scope' do
418
420
  it 'should not remove unused scope' do
419
- content =<<-EOF
421
+ content = <<-EOF
420
422
  class Post < ActiveRecord::Base
421
423
  scope :active, where(active: true)
422
424
  end
423
425
  EOF
424
426
  runner.prepare('app/models/post.rb', content)
425
427
  runner.review('app/models/post.rb', content)
426
- content =<<-EOF
428
+ content = <<-EOF
427
429
  class PostsController < ApplicationController
428
430
  def index
429
431
  @posts = Post.active
@@ -436,7 +438,7 @@ module RailsBestPractices
436
438
  end
437
439
 
438
440
  it 'should remove unused named_scope' do
439
- content =<<-EOF
441
+ content = <<-EOF
440
442
  class Post < ActiveRecord::Base
441
443
  scope :active, where(active: true)
442
444
  end
@@ -451,7 +453,7 @@ module RailsBestPractices
451
453
 
452
454
  context 'alias' do
453
455
  it 'should not remove unused method with alias' do
454
- content =<<-EOF
456
+ content = <<-EOF
455
457
  class Post < ActiveRecord::Base
456
458
  def old; end
457
459
  alias new old
@@ -459,7 +461,7 @@ module RailsBestPractices
459
461
  EOF
460
462
  runner.prepare('app/models/post.rb', content)
461
463
  runner.review('app/models/post.rb', content)
462
- content =<<-EOF
464
+ content = <<-EOF
463
465
  class PostsController < ApplicationController
464
466
  def show
465
467
  @post.new
@@ -472,7 +474,7 @@ module RailsBestPractices
472
474
  end
473
475
 
474
476
  it 'should not remove unused method with symbol alias' do
475
- content =<<-EOF
477
+ content = <<-EOF
476
478
  class Post < ActiveRecord::Base
477
479
  def old; end
478
480
  alias :new :old
@@ -480,7 +482,7 @@ module RailsBestPractices
480
482
  EOF
481
483
  runner.prepare('app/models/post.rb', content)
482
484
  runner.review('app/models/post.rb', content)
483
- content =<<-EOF
485
+ content = <<-EOF
484
486
  class PostsController < ApplicationController
485
487
  def show
486
488
  @post.new
@@ -493,7 +495,7 @@ module RailsBestPractices
493
495
  end
494
496
 
495
497
  it 'should not remove unused method with alias_method' do
496
- content =<<-EOF
498
+ content = <<-EOF
497
499
  class Post < ActiveRecord::Base
498
500
  def old; end
499
501
  alias_method :new, :old
@@ -501,7 +503,7 @@ module RailsBestPractices
501
503
  EOF
502
504
  runner.prepare('app/models/post.rb', content)
503
505
  runner.review('app/models/post.rb', content)
504
- content =<<-EOF
506
+ content = <<-EOF
505
507
  class PostsController < ApplicationController
506
508
  def show
507
509
  @post.new
@@ -514,7 +516,7 @@ module RailsBestPractices
514
516
  end
515
517
 
516
518
  it 'should not remove unused method with alias_method_chain' do
517
- content =<<-EOF
519
+ content = <<-EOF
518
520
  class Post < ActiveRecord::Base
519
521
  def method_with_feature; end
520
522
  alias_method_chain :method, :feature
@@ -522,7 +524,7 @@ module RailsBestPractices
522
524
  EOF
523
525
  runner.prepare('app/models/post.rb', content)
524
526
  runner.review('app/models/post.rb', content)
525
- content =<<-EOF
527
+ content = <<-EOF
526
528
  class PostsController < ApplicationController
527
529
  def show
528
530
  @post.method
@@ -537,7 +539,7 @@ module RailsBestPractices
537
539
 
538
540
  context 'methods hash' do
539
541
  it 'should not remove unused method with methods hash' do
540
- content =<<-EOF
542
+ content = <<-EOF
541
543
  class Post < ActiveRecord::Base
542
544
  def to_xml(options = {})
543
545
  super options.merge(exclude: :visible, methods: [:is_discussion_conversation])
@@ -555,7 +557,7 @@ module RailsBestPractices
555
557
 
556
558
  context 'callbacks' do
557
559
  it 'should not remove unused method' do
558
- content =<<-EOF
560
+ content = <<-EOF
559
561
  class Post < ActiveRecord::Base
560
562
  before_save :init_columns
561
563
  after_destroy :remove_dependencies
@@ -574,7 +576,7 @@ module RailsBestPractices
574
576
 
575
577
  context 'validates' do
576
578
  it 'should not remove unused method' do
577
- content =<<-EOF
579
+ content = <<-EOF
578
580
  class Post < ActiveRecord::Base
579
581
  validate :valid_birth_date
580
582
 
@@ -589,7 +591,7 @@ module RailsBestPractices
589
591
  end
590
592
 
591
593
  it 'should not remove unused method for validate_on_create and validate_on_update' do
592
- content =<<-EOF
594
+ content = <<-EOF
593
595
  class Post < ActiveRecord::Base
594
596
  validate_on_create :valid_email
595
597
  validate_on_update :valid_birth_date
@@ -606,7 +608,7 @@ module RailsBestPractices
606
608
  end
607
609
 
608
610
  it 'should not remove unused methods for to_param' do
609
- content =<<-EOF
611
+ content = <<-EOF
610
612
  class Post < ActiveRecord::Base
611
613
  def to_param
612
614
  id
@@ -622,14 +624,14 @@ module RailsBestPractices
622
624
 
623
625
  context 'helper method' do
624
626
  it 'should not remove unused method for coommand_call collection_select' do
625
- content =<<-EOF
627
+ content = <<-EOF
626
628
  class Category < ActiveRecord::Base
627
629
  def indented_name; end
628
630
  end
629
631
  EOF
630
632
  runner.prepare('app/models/category.rb', content)
631
633
  runner.review('app/models/category.rb', content)
632
- content =<<-EOF
634
+ content = <<-EOF
633
635
  <%= f.collection_select :parent_id, Category.all_hierarchic(except: @category), :id, :indented_name, {include_blank: true} %>
634
636
  EOF
635
637
  runner.review('app/views/categories/_form.html.erb', content)
@@ -638,14 +640,14 @@ module RailsBestPractices
638
640
  end
639
641
 
640
642
  it 'should not remove unused method for command collection_select' do
641
- content =<<-EOF
643
+ content = <<-EOF
642
644
  class Category < ActiveRecord::Base
643
645
  def indented_name; end
644
646
  end
645
647
  EOF
646
648
  runner.prepare('app/models/category.rb', content)
647
649
  runner.review('app/models/category.rb', content)
648
- content =<<-EOF
650
+ content = <<-EOF
649
651
  <%= collection_select :category, :parent_id, Category.all_hierarchic(except: @category), :id, :indented_name, {include_blank: true} %>
650
652
  EOF
651
653
  runner.review('app/views/categories/_form.html.erb', content)
@@ -654,14 +656,14 @@ module RailsBestPractices
654
656
  end
655
657
 
656
658
  it 'should not remove unused method for options_from_collection_for_select' do
657
- content =<<-EOF
659
+ content = <<-EOF
658
660
  class Category < ActiveRecord::Base
659
661
  def indented_name; end
660
662
  end
661
663
  EOF
662
664
  runner.prepare('app/models/category.rb', content)
663
665
  runner.review('app/models/category.rb', content)
664
- content =<<-EOF
666
+ content = <<-EOF
665
667
  <%= select_tag 'category', options_from_collection_for_select(Category.all_hierachic(except: @category), :id, :indented_name) %>
666
668
  EOF
667
669
  runner.review('app/views/categories/_form.html.erb', content)
@@ -671,7 +673,7 @@ module RailsBestPractices
671
673
  end
672
674
 
673
675
  it 'should not remove unused methods for rabl view' do
674
- content =<<-EOF
676
+ content = <<-EOF
675
677
  class User
676
678
  def first_name; end
677
679
  def last_name; end
@@ -679,7 +681,7 @@ module RailsBestPractices
679
681
  EOF
680
682
  runner.prepare('app/models/user.rb', content)
681
683
  runner.review('app/models/user.rb', content)
682
- content =<<-EOF
684
+ content = <<-EOF
683
685
  node :full_name do |u|
684
686
  u.first_name + " " + u.last_name
685
687
  end
@@ -690,7 +692,7 @@ module RailsBestPractices
690
692
  end
691
693
 
692
694
  it 'should not skip :call as call message' do
693
- content =<<-EOF
695
+ content = <<-EOF
694
696
  module DateRange
695
697
  RANGES = lambda {
696
698
  last_month = {
@@ -708,7 +710,7 @@ module RailsBestPractices
708
710
  runner = Core::Runner.new(prepares: Prepares::ModelPrepare.new,
709
711
  reviews: RemoveUnusedMethodsInModelsReview.new(except_methods: [], ignored_files: /post/))
710
712
 
711
- content =<<-EOF
713
+ content = <<-EOF
712
714
  class Post < ActiveRecord::Base
713
715
  def find; end
714
716
  private
@@ -717,7 +719,7 @@ module RailsBestPractices
717
719
  EOF
718
720
  runner.prepare('app/models/post.rb', content)
719
721
  runner.review('app/models/post.rb', content)
720
- content =<<-EOF
722
+ content = <<-EOF
721
723
  class PostsController < ApplicationController
722
724
  def get
723
725
  Post.new.find