rails_best_practices 1.20.0 → 1.20.1

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 (134) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -1
  3. data/Gemfile.lock +30 -26
  4. data/Guardfile +2 -0
  5. data/Rakefile +2 -0
  6. data/lib/rails_best_practices.rb +1 -2
  7. data/lib/rails_best_practices/analyzer.rb +56 -46
  8. data/lib/rails_best_practices/core/check.rb +39 -32
  9. data/lib/rails_best_practices/core/checks_loader.rb +8 -6
  10. data/lib/rails_best_practices/core/configs.rb +1 -2
  11. data/lib/rails_best_practices/core/controllers.rb +1 -2
  12. data/lib/rails_best_practices/core/error.rb +1 -1
  13. data/lib/rails_best_practices/core/helpers.rb +1 -2
  14. data/lib/rails_best_practices/core/mailers.rb +1 -2
  15. data/lib/rails_best_practices/core/methods.rb +21 -16
  16. data/lib/rails_best_practices/core/model_associations.rb +9 -4
  17. data/lib/rails_best_practices/core/models.rb +1 -2
  18. data/lib/rails_best_practices/core/modules.rb +1 -1
  19. data/lib/rails_best_practices/core/routes.rb +2 -2
  20. data/lib/rails_best_practices/core/runner.rb +29 -33
  21. data/lib/rails_best_practices/lexicals/long_line_check.rb +7 -3
  22. data/lib/rails_best_practices/option_parser.rb +17 -6
  23. data/lib/rails_best_practices/prepares.rb +1 -1
  24. data/lib/rails_best_practices/prepares/controller_prepare.rb +15 -3
  25. data/lib/rails_best_practices/prepares/gemfile_prepare.rb +1 -1
  26. data/lib/rails_best_practices/prepares/helper_prepare.rb +6 -1
  27. data/lib/rails_best_practices/prepares/initializer_prepare.rb +2 -2
  28. data/lib/rails_best_practices/prepares/mailer_prepare.rb +1 -0
  29. data/lib/rails_best_practices/prepares/model_prepare.rb +52 -12
  30. data/lib/rails_best_practices/prepares/route_prepare.rb +16 -10
  31. data/lib/rails_best_practices/reviews/add_model_virtual_attribute_review.rb +15 -13
  32. data/lib/rails_best_practices/reviews/always_add_db_index_review.rb +34 -29
  33. data/lib/rails_best_practices/reviews/check_destroy_return_value_review.rb +14 -5
  34. data/lib/rails_best_practices/reviews/check_save_return_value_review.rb +19 -8
  35. data/lib/rails_best_practices/reviews/hash_syntax_review.rb +5 -5
  36. data/lib/rails_best_practices/reviews/isolate_seed_data_review.rb +4 -4
  37. data/lib/rails_best_practices/reviews/keep_finders_on_their_own_model_review.rb +7 -8
  38. data/lib/rails_best_practices/reviews/law_of_demeter_review.rb +6 -6
  39. data/lib/rails_best_practices/reviews/move_code_into_controller_review.rb +1 -1
  40. data/lib/rails_best_practices/reviews/move_code_into_helper_review.rb +6 -7
  41. data/lib/rails_best_practices/reviews/move_finder_to_named_scope_review.rb +7 -8
  42. data/lib/rails_best_practices/reviews/needless_deep_nesting_review.rb +12 -10
  43. data/lib/rails_best_practices/reviews/not_use_default_route_review.rb +1 -2
  44. data/lib/rails_best_practices/reviews/overuse_route_customizations_review.rb +5 -5
  45. data/lib/rails_best_practices/reviews/protect_mass_assignment_review.rb +5 -2
  46. data/lib/rails_best_practices/reviews/remove_unused_methods_in_controllers_review.rb +6 -3
  47. data/lib/rails_best_practices/reviews/remove_unused_methods_in_helpers_review.rb +6 -4
  48. data/lib/rails_best_practices/reviews/remove_unused_methods_in_models_review.rb +29 -9
  49. data/lib/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review.rb +3 -3
  50. data/lib/rails_best_practices/reviews/restrict_auto_generated_routes_review.rb +17 -15
  51. data/lib/rails_best_practices/reviews/simplify_render_in_controllers_review.rb +1 -2
  52. data/lib/rails_best_practices/reviews/simplify_render_in_views_review.rb +3 -3
  53. data/lib/rails_best_practices/reviews/use_before_filter_review.rb +2 -1
  54. data/lib/rails_best_practices/reviews/use_model_association_review.rb +5 -5
  55. data/lib/rails_best_practices/reviews/use_multipart_alternative_as_content_type_of_email_review.rb +9 -8
  56. data/lib/rails_best_practices/reviews/use_observer_review.rb +9 -9
  57. data/lib/rails_best_practices/reviews/use_query_attribute_review.rb +26 -26
  58. data/lib/rails_best_practices/reviews/use_say_with_time_in_migrations_review.rb +8 -7
  59. data/lib/rails_best_practices/reviews/use_scope_access_review.rb +17 -15
  60. data/lib/rails_best_practices/reviews/use_turbo_sprockets_rails3_review.rb +2 -1
  61. data/lib/rails_best_practices/version.rb +1 -1
  62. data/rails_best_practices.gemspec +35 -36
  63. data/spec/fixtures/lib/rails_best_practices/plugins/reviews/not_use_rails_root_review.rb +1 -2
  64. data/spec/rails_best_practices/analyzer_spec.rb +73 -42
  65. data/spec/rails_best_practices/core/check_spec.rb +5 -5
  66. data/spec/rails_best_practices/core/checks_loader_spec.rb +3 -3
  67. data/spec/rails_best_practices/core/configs_spec.rb +1 -1
  68. data/spec/rails_best_practices/core/controllers_spec.rb +1 -1
  69. data/spec/rails_best_practices/core/error_spec.rb +21 -21
  70. data/spec/rails_best_practices/core/except_methods_spec.rb +7 -7
  71. data/spec/rails_best_practices/core/gems_spec.rb +4 -4
  72. data/spec/rails_best_practices/core/helpers_spec.rb +1 -1
  73. data/spec/rails_best_practices/core/klasses_spec.rb +3 -3
  74. data/spec/rails_best_practices/core/mailers_spec.rb +1 -1
  75. data/spec/rails_best_practices/core/methods_spec.rb +6 -6
  76. data/spec/rails_best_practices/core/model_associations_spec.rb +10 -6
  77. data/spec/rails_best_practices/core/model_attributes_spec.rb +4 -4
  78. data/spec/rails_best_practices/core/models_spec.rb +1 -1
  79. data/spec/rails_best_practices/core/modules_spec.rb +5 -5
  80. data/spec/rails_best_practices/core/routes_spec.rb +5 -5
  81. data/spec/rails_best_practices/core/runner_spec.rb +9 -7
  82. data/spec/rails_best_practices/core_ext/erubis_spec.rb +10 -10
  83. data/spec/rails_best_practices/lexicals/long_line_check_spec.rb +11 -10
  84. data/spec/rails_best_practices/lexicals/remove_tab_check_spec.rb +6 -6
  85. data/spec/rails_best_practices/lexicals/remove_trailing_whitespace_check_spec.rb +6 -6
  86. data/spec/rails_best_practices/prepares/config_prepare_spec.rb +2 -2
  87. data/spec/rails_best_practices/prepares/controller_prepare_spec.rb +18 -10
  88. data/spec/rails_best_practices/prepares/gemfile_prepare_spec.rb +2 -2
  89. data/spec/rails_best_practices/prepares/helper_prepare_spec.rb +3 -3
  90. data/spec/rails_best_practices/prepares/initializer_prepare_spec.rb +3 -3
  91. data/spec/rails_best_practices/prepares/mailer_prepare_spec.rb +2 -2
  92. data/spec/rails_best_practices/prepares/model_prepare_spec.rb +79 -43
  93. data/spec/rails_best_practices/prepares/route_prepare_spec.rb +138 -77
  94. data/spec/rails_best_practices/prepares/schema_prepare_spec.rb +2 -2
  95. data/spec/rails_best_practices/reviews/add_model_virtual_attribute_review_spec.rb +18 -12
  96. data/spec/rails_best_practices/reviews/always_add_db_index_review_spec.rb +28 -22
  97. data/spec/rails_best_practices/reviews/check_destroy_return_value_review_spec.rb +15 -13
  98. data/spec/rails_best_practices/reviews/check_save_return_value_review_spec.rb +31 -21
  99. data/spec/rails_best_practices/reviews/default_scope_is_evil_review_spec.rb +6 -6
  100. data/spec/rails_best_practices/reviews/dry_bundler_in_capistrano_review_spec.rb +5 -5
  101. data/spec/rails_best_practices/reviews/hash_syntax_review_spec.rb +9 -9
  102. data/spec/rails_best_practices/reviews/isolate_seed_data_review_spec.rb +7 -7
  103. data/spec/rails_best_practices/reviews/keep_finders_on_their_own_model_review_spec.rb +9 -9
  104. data/spec/rails_best_practices/reviews/law_of_demeter_review_spec.rb +21 -14
  105. data/spec/rails_best_practices/reviews/move_code_into_controller_review_spec.rb +6 -6
  106. data/spec/rails_best_practices/reviews/move_code_into_helper_review_spec.rb +11 -6
  107. data/spec/rails_best_practices/reviews/move_code_into_model_review_spec.rb +26 -16
  108. data/spec/rails_best_practices/reviews/move_finder_to_named_scope_review_spec.rb +7 -7
  109. data/spec/rails_best_practices/reviews/move_model_logic_into_model_review_spec.rb +9 -7
  110. data/spec/rails_best_practices/reviews/needless_deep_nesting_review_spec.rb +9 -9
  111. data/spec/rails_best_practices/reviews/not_rescue_exception_review_spec.rb +9 -9
  112. data/spec/rails_best_practices/reviews/not_use_default_route_review_spec.rb +5 -5
  113. data/spec/rails_best_practices/reviews/not_use_time_ago_in_words_review_spec.rb +7 -7
  114. data/spec/rails_best_practices/reviews/overuse_route_customizations_review_spec.rb +7 -7
  115. data/spec/rails_best_practices/reviews/protect_mass_assignment_review_spec.rb +24 -19
  116. data/spec/rails_best_practices/reviews/remove_empty_helpers_review_spec.rb +6 -6
  117. data/spec/rails_best_practices/reviews/remove_unused_methods_in_controllers_review_spec.rb +44 -31
  118. data/spec/rails_best_practices/reviews/remove_unused_methods_in_helpers_review_spec.rb +17 -12
  119. data/spec/rails_best_practices/reviews/remove_unused_methods_in_models_review_spec.rb +46 -44
  120. data/spec/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review_spec.rb +10 -8
  121. data/spec/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review_spec.rb +16 -10
  122. data/spec/rails_best_practices/reviews/restrict_auto_generated_routes_review_spec.rb +54 -31
  123. data/spec/rails_best_practices/reviews/simplify_render_in_controllers_review_spec.rb +9 -9
  124. data/spec/rails_best_practices/reviews/simplify_render_in_views_review_spec.rb +13 -13
  125. data/spec/rails_best_practices/reviews/use_before_filter_review_spec.rb +11 -9
  126. data/spec/rails_best_practices/reviews/use_model_association_review_spec.rb +7 -7
  127. data/spec/rails_best_practices/reviews/use_multipart_alternative_as_content_type_of_email_review_spec.rb +21 -17
  128. data/spec/rails_best_practices/reviews/use_observer_review_spec.rb +6 -6
  129. data/spec/rails_best_practices/reviews/use_parentheses_in_method_def_review_spec.rb +9 -7
  130. data/spec/rails_best_practices/reviews/use_query_attribute_review_spec.rb +31 -24
  131. data/spec/rails_best_practices/reviews/use_say_with_time_in_migrations_review_spec.rb +15 -11
  132. data/spec/rails_best_practices/reviews/use_scope_access_review_spec.rb +14 -14
  133. data/spec/rails_best_practices/reviews/use_turbo_sprockets_rails3_review_spec.rb +10 -8
  134. metadata +7 -7
@@ -5,9 +5,9 @@ require 'spec_helper'
5
5
  module RailsBestPractices
6
6
  module Reviews
7
7
  describe UseSayWithTimeInMigrationsReview do
8
- let(:runner) { Core::Runner.new(reviews: UseSayWithTimeInMigrationsReview.new) }
8
+ let(:runner) { Core::Runner.new(reviews: described_class.new) }
9
9
 
10
- it 'should use say with time in migrations' do
10
+ it 'uses say with time in migrations' do
11
11
  content = <<-EOF
12
12
  def self.up
13
13
  User.find_each do |user|
@@ -18,10 +18,12 @@ module RailsBestPractices
18
18
  EOF
19
19
  runner.review('db/migrate/20101010080658_update_users.rb', content)
20
20
  expect(runner.errors.size).to eq(1)
21
- expect(runner.errors[0].to_s).to eq('db/migrate/20101010080658_update_users.rb:2 - use say with time in migrations')
21
+ expect(runner.errors[0].to_s).to eq(
22
+ 'db/migrate/20101010080658_update_users.rb:2 - use say with time in migrations'
23
+ )
22
24
  end
23
25
 
24
- it 'should use say with time in migrations with create_table' do
26
+ it 'uses say with time in migrations with create_table' do
25
27
  content = <<-EOF
26
28
  def self.up
27
29
  create_table :users do |t|
@@ -37,10 +39,12 @@ module RailsBestPractices
37
39
  EOF
38
40
  runner.review('db/migrate/20101010080658_update_users.rb', content)
39
41
  expect(runner.errors.size).to eq(1)
40
- expect(runner.errors[0].to_s).to eq('db/migrate/20101010080658_update_users.rb:7 - use say with time in migrations')
42
+ expect(runner.errors[0].to_s).to eq(
43
+ 'db/migrate/20101010080658_update_users.rb:7 - use say with time in migrations'
44
+ )
41
45
  end
42
46
 
43
- it 'should not use say with time in migrations' do
47
+ it 'does not use say with time in migrations' do
44
48
  content = <<-EOF
45
49
  def self.up
46
50
  say_with_time("Initialize first_name and last_name for users") do
@@ -56,7 +60,7 @@ module RailsBestPractices
56
60
  expect(runner.errors.size).to eq(0)
57
61
  end
58
62
 
59
- it 'should not use say with time in migrations when not first code line' do
63
+ it 'does not use say with time in migrations when not first code line' do
60
64
  content = <<-EOF
61
65
  def self.up
62
66
  User.find_each do |user|
@@ -70,7 +74,7 @@ module RailsBestPractices
70
74
  expect(runner.errors.size).to eq(0)
71
75
  end
72
76
 
73
- it 'should not use say with time when default migration message' do
77
+ it 'does not use say with time when default migration message' do
74
78
  content = <<-EOF
75
79
  def self.up
76
80
  create_table :users do |t|
@@ -84,7 +88,7 @@ module RailsBestPractices
84
88
  expect(runner.errors.size).to eq(0)
85
89
  end
86
90
 
87
- it 'should not raise an error' do
91
+ it 'does not raise an error' do
88
92
  content = <<-EOF
89
93
  class AddAdmin < ActiveRecord::Migration
90
94
 
@@ -120,8 +124,8 @@ module RailsBestPractices
120
124
  expect(runner.errors.size).to eq(3)
121
125
  end
122
126
 
123
- it 'should not check ignored files' do
124
- runner = Core::Runner.new(reviews: UseSayWithTimeInMigrationsReview.new(ignored_files: /20101010080658_update_users/))
127
+ it 'does not check ignored files' do
128
+ runner = Core::Runner.new(reviews: described_class.new(ignored_files: /20101010080658_update_users/))
125
129
  content = <<-EOF
126
130
  def self.up
127
131
  User.find_each do |user|
@@ -5,10 +5,10 @@ require 'spec_helper'
5
5
  module RailsBestPractices
6
6
  module Reviews
7
7
  describe UseScopeAccessReview do
8
- let(:runner) { Core::Runner.new(reviews: UseScopeAccessReview.new) }
8
+ let(:runner) { Core::Runner.new(reviews: described_class.new) }
9
9
 
10
10
  context 'if' do
11
- it 'should use scope access' do
11
+ it 'uses scope access' do
12
12
  content = <<-EOF
13
13
  class PostsController < ApplicationController
14
14
  def edit
@@ -26,7 +26,7 @@ module RailsBestPractices
26
26
  expect(runner.errors[0].to_s).to eq('app/controllers/posts_controller.rb:5 - use scope access')
27
27
  end
28
28
 
29
- it 'should use scope access with if in one line' do
29
+ it 'uses scope access with if in one line' do
30
30
  content = <<-EOF
31
31
  class PostsController < ApplicationController
32
32
  def edit
@@ -41,7 +41,7 @@ module RailsBestPractices
41
41
  expect(runner.errors[0].to_s).to eq('app/controllers/posts_controller.rb:5 - use scope access')
42
42
  end
43
43
 
44
- it "should use scope access with '? :'" do
44
+ it "uses scope access with '? :'" do
45
45
  content = <<-EOF
46
46
  class PostsController < ApplicationController
47
47
  def edit
@@ -56,7 +56,7 @@ module RailsBestPractices
56
56
  expect(runner.errors[0].to_s).to eq('app/controllers/posts_controller.rb:5 - use scope access')
57
57
  end
58
58
 
59
- it 'should use scope access by comparing with id' do
59
+ it 'uses scope access by comparing with id' do
60
60
  content = <<-EOF
61
61
  class PostsController < ApplicationController
62
62
  def edit
@@ -74,7 +74,7 @@ module RailsBestPractices
74
74
  expect(runner.errors[0].to_s).to eq('app/controllers/posts_controller.rb:5 - use scope access')
75
75
  end
76
76
 
77
- it 'should use scope access with current_user ==' do
77
+ it 'uses scope access with current_user ==' do
78
78
  content = <<-EOF
79
79
  class PostsController < ApplicationController
80
80
  def edit
@@ -92,7 +92,7 @@ module RailsBestPractices
92
92
  expect(runner.errors[0].to_s).to eq('app/controllers/posts_controller.rb:5 - use scope access')
93
93
  end
94
94
 
95
- it 'should use scope access by current_user.id ==' do
95
+ it 'uses scope access by current_user.id ==' do
96
96
  content = <<-EOF
97
97
  class PostsController < ApplicationController
98
98
  def edit
@@ -112,7 +112,7 @@ module RailsBestPractices
112
112
  end
113
113
 
114
114
  context 'unless' do
115
- it 'should use scope access' do
115
+ it 'uses scope access' do
116
116
  content = <<-EOF
117
117
  class PostsController < ApplicationController
118
118
  def edit
@@ -130,7 +130,7 @@ module RailsBestPractices
130
130
  expect(runner.errors[0].to_s).to eq('app/controllers/posts_controller.rb:5 - use scope access')
131
131
  end
132
132
 
133
- it 'should use scope access by comparing with id' do
133
+ it 'uses scope access by comparing with id' do
134
134
  content = <<-EOF
135
135
  class PostsController < ApplicationController
136
136
  def edit
@@ -148,7 +148,7 @@ module RailsBestPractices
148
148
  expect(runner.errors[0].to_s).to eq('app/controllers/posts_controller.rb:5 - use scope access')
149
149
  end
150
150
 
151
- it 'should use scope access with current_user ==' do
151
+ it 'uses scope access with current_user ==' do
152
152
  content = <<-EOF
153
153
  class PostsController < ApplicationController
154
154
  def edit
@@ -166,7 +166,7 @@ module RailsBestPractices
166
166
  expect(runner.errors[0].to_s).to eq('app/controllers/posts_controller.rb:5 - use scope access')
167
167
  end
168
168
 
169
- it 'should use scope access by current_user.id ==' do
169
+ it 'uses scope access by current_user.id ==' do
170
170
  content = <<-EOF
171
171
  class PostsController < ApplicationController
172
172
  def edit
@@ -184,7 +184,7 @@ module RailsBestPractices
184
184
  expect(runner.errors[0].to_s).to eq('app/controllers/posts_controller.rb:5 - use scope access')
185
185
  end
186
186
 
187
- it 'should no error in use_scope_access_review' do
187
+ it 'noes error in use_scope_access_review' do
188
188
  content = <<-EOF
189
189
  class CommentsController < ApplicationController
190
190
  def add_comment
@@ -206,8 +206,8 @@ module RailsBestPractices
206
206
  expect(runner.errors.size).to eq(0)
207
207
  end
208
208
 
209
- it 'should not check ignored files' do
210
- runner = Core::Runner.new(reviews: UseScopeAccessReview.new(ignored_files: /posts_controller/))
209
+ it 'does not check ignored files' do
210
+ runner = Core::Runner.new(reviews: described_class.new(ignored_files: /posts_controller/))
211
211
  content = <<-EOF
212
212
  class PostsController < ApplicationController
213
213
  def edit
@@ -5,9 +5,9 @@ require 'spec_helper'
5
5
  module RailsBestPractices
6
6
  module Reviews
7
7
  describe UseTurboSprocketsRails3Review do
8
- let(:runner) { Core::Runner.new(prepares: Prepares::GemfilePrepare.new, reviews: UseTurboSprocketsRails3Review.new) }
8
+ let(:runner) { Core::Runner.new(prepares: Prepares::GemfilePrepare.new, reviews: described_class.new) }
9
9
 
10
- it 'should use turbo-sprockets-rails3' do
10
+ it 'uses turbo-sprockets-rails3' do
11
11
  content = <<~EOF
12
12
  GEM
13
13
  remote: https://rubygems.org
@@ -32,7 +32,7 @@ module RailsBestPractices
32
32
  expect(runner.errors[0].to_s).to eq('Capfile:2 - speed up assets precompile with turbo-sprockets-rails3')
33
33
  end
34
34
 
35
- it 'should not use turbo-sprockets-rails3 with turbo-sprockets-rails3 gem' do
35
+ it 'does not use turbo-sprockets-rails3 with turbo-sprockets-rails3 gem' do
36
36
  content = <<~EOF
37
37
  GEM
38
38
  remote: https://rubygems.org
@@ -59,7 +59,7 @@ module RailsBestPractices
59
59
  expect(runner.errors.size).to eq(0)
60
60
  end
61
61
 
62
- it 'should not use turbo-sprockets-rails3 without deploy/assets' do
62
+ it 'does not use turbo-sprockets-rails3 without deploy/assets' do
63
63
  content = <<-EOF
64
64
  load 'deploy' if respond_to?(:namespace)
65
65
  #load 'deploy/assets'
@@ -69,7 +69,7 @@ module RailsBestPractices
69
69
  expect(runner.errors.size).to eq(0)
70
70
  end
71
71
 
72
- it 'should not use turbo-sprockets-rails3 with rails4 gem' do
72
+ it 'does not use turbo-sprockets-rails3 with rails4 gem' do
73
73
  content = <<~EOF
74
74
  GEM
75
75
  remote: https://rubygems.org
@@ -93,9 +93,11 @@ module RailsBestPractices
93
93
  expect(runner.errors.size).to eq(0)
94
94
  end
95
95
 
96
- it 'should not check ignored files' do
97
- runner = Core::Runner.new(prepares: Prepares::GemfilePrepare.new,
98
- reviews: UseTurboSprocketsRails3Review.new(ignored_files: /Capfile/))
96
+ it 'does not check ignored files' do
97
+ runner =
98
+ Core::Runner.new(
99
+ prepares: Prepares::GemfilePrepare.new, reviews: described_class.new(ignored_files: /Capfile/)
100
+ )
99
101
  content = <<~EOF
100
102
  GEM
101
103
  remote: https://rubygems.org
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.20.0
4
+ version: 1.20.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Huang
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-29 00:00:00.000000000 Z
11
+ date: 2021-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.5.1
33
+ version: 0.5.2
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 0.5.1
40
+ version: 0.5.2
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: erubis
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -399,8 +399,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
399
399
  - !ruby/object:Gem::Version
400
400
  version: 1.3.6
401
401
  requirements: []
402
- rubygems_version: 3.1.0.pre1
403
- signing_key:
402
+ rubygems_version: 3.1.6
403
+ signing_key:
404
404
  specification_version: 4
405
405
  summary: a code metric tool for rails codes.
406
406
  test_files: