rails_best_practices 1.19.1 → 1.19.2

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 (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