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.
- checksums.yaml +4 -4
- data/Gemfile +3 -1
- data/Gemfile.lock +30 -26
- data/Guardfile +2 -0
- data/Rakefile +2 -0
- data/lib/rails_best_practices.rb +1 -2
- data/lib/rails_best_practices/analyzer.rb +56 -46
- data/lib/rails_best_practices/core/check.rb +39 -32
- data/lib/rails_best_practices/core/checks_loader.rb +8 -6
- data/lib/rails_best_practices/core/configs.rb +1 -2
- data/lib/rails_best_practices/core/controllers.rb +1 -2
- data/lib/rails_best_practices/core/error.rb +1 -1
- data/lib/rails_best_practices/core/helpers.rb +1 -2
- data/lib/rails_best_practices/core/mailers.rb +1 -2
- data/lib/rails_best_practices/core/methods.rb +21 -16
- data/lib/rails_best_practices/core/model_associations.rb +9 -4
- data/lib/rails_best_practices/core/models.rb +1 -2
- data/lib/rails_best_practices/core/modules.rb +1 -1
- data/lib/rails_best_practices/core/routes.rb +2 -2
- data/lib/rails_best_practices/core/runner.rb +29 -33
- data/lib/rails_best_practices/lexicals/long_line_check.rb +7 -3
- data/lib/rails_best_practices/option_parser.rb +17 -6
- data/lib/rails_best_practices/prepares.rb +1 -1
- data/lib/rails_best_practices/prepares/controller_prepare.rb +15 -3
- data/lib/rails_best_practices/prepares/gemfile_prepare.rb +1 -1
- data/lib/rails_best_practices/prepares/helper_prepare.rb +6 -1
- data/lib/rails_best_practices/prepares/initializer_prepare.rb +2 -2
- data/lib/rails_best_practices/prepares/mailer_prepare.rb +1 -0
- data/lib/rails_best_practices/prepares/model_prepare.rb +52 -12
- data/lib/rails_best_practices/prepares/route_prepare.rb +16 -10
- data/lib/rails_best_practices/reviews/add_model_virtual_attribute_review.rb +15 -13
- data/lib/rails_best_practices/reviews/always_add_db_index_review.rb +34 -29
- data/lib/rails_best_practices/reviews/check_destroy_return_value_review.rb +14 -5
- data/lib/rails_best_practices/reviews/check_save_return_value_review.rb +19 -8
- data/lib/rails_best_practices/reviews/hash_syntax_review.rb +5 -5
- data/lib/rails_best_practices/reviews/isolate_seed_data_review.rb +4 -4
- data/lib/rails_best_practices/reviews/keep_finders_on_their_own_model_review.rb +7 -8
- data/lib/rails_best_practices/reviews/law_of_demeter_review.rb +6 -6
- data/lib/rails_best_practices/reviews/move_code_into_controller_review.rb +1 -1
- data/lib/rails_best_practices/reviews/move_code_into_helper_review.rb +6 -7
- data/lib/rails_best_practices/reviews/move_finder_to_named_scope_review.rb +7 -8
- data/lib/rails_best_practices/reviews/needless_deep_nesting_review.rb +12 -10
- data/lib/rails_best_practices/reviews/not_use_default_route_review.rb +1 -2
- data/lib/rails_best_practices/reviews/overuse_route_customizations_review.rb +5 -5
- data/lib/rails_best_practices/reviews/protect_mass_assignment_review.rb +5 -2
- data/lib/rails_best_practices/reviews/remove_unused_methods_in_controllers_review.rb +6 -3
- data/lib/rails_best_practices/reviews/remove_unused_methods_in_helpers_review.rb +6 -4
- data/lib/rails_best_practices/reviews/remove_unused_methods_in_models_review.rb +29 -9
- data/lib/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review.rb +3 -3
- data/lib/rails_best_practices/reviews/restrict_auto_generated_routes_review.rb +17 -15
- data/lib/rails_best_practices/reviews/simplify_render_in_controllers_review.rb +1 -2
- data/lib/rails_best_practices/reviews/simplify_render_in_views_review.rb +3 -3
- data/lib/rails_best_practices/reviews/use_before_filter_review.rb +2 -1
- data/lib/rails_best_practices/reviews/use_model_association_review.rb +5 -5
- data/lib/rails_best_practices/reviews/use_multipart_alternative_as_content_type_of_email_review.rb +9 -8
- data/lib/rails_best_practices/reviews/use_observer_review.rb +9 -9
- data/lib/rails_best_practices/reviews/use_query_attribute_review.rb +26 -26
- data/lib/rails_best_practices/reviews/use_say_with_time_in_migrations_review.rb +8 -7
- data/lib/rails_best_practices/reviews/use_scope_access_review.rb +17 -15
- data/lib/rails_best_practices/reviews/use_turbo_sprockets_rails3_review.rb +2 -1
- data/lib/rails_best_practices/version.rb +1 -1
- data/rails_best_practices.gemspec +35 -36
- data/spec/fixtures/lib/rails_best_practices/plugins/reviews/not_use_rails_root_review.rb +1 -2
- data/spec/rails_best_practices/analyzer_spec.rb +73 -42
- data/spec/rails_best_practices/core/check_spec.rb +5 -5
- data/spec/rails_best_practices/core/checks_loader_spec.rb +3 -3
- data/spec/rails_best_practices/core/configs_spec.rb +1 -1
- data/spec/rails_best_practices/core/controllers_spec.rb +1 -1
- data/spec/rails_best_practices/core/error_spec.rb +21 -21
- data/spec/rails_best_practices/core/except_methods_spec.rb +7 -7
- data/spec/rails_best_practices/core/gems_spec.rb +4 -4
- data/spec/rails_best_practices/core/helpers_spec.rb +1 -1
- data/spec/rails_best_practices/core/klasses_spec.rb +3 -3
- data/spec/rails_best_practices/core/mailers_spec.rb +1 -1
- data/spec/rails_best_practices/core/methods_spec.rb +6 -6
- data/spec/rails_best_practices/core/model_associations_spec.rb +10 -6
- data/spec/rails_best_practices/core/model_attributes_spec.rb +4 -4
- data/spec/rails_best_practices/core/models_spec.rb +1 -1
- data/spec/rails_best_practices/core/modules_spec.rb +5 -5
- data/spec/rails_best_practices/core/routes_spec.rb +5 -5
- data/spec/rails_best_practices/core/runner_spec.rb +9 -7
- data/spec/rails_best_practices/core_ext/erubis_spec.rb +10 -10
- data/spec/rails_best_practices/lexicals/long_line_check_spec.rb +11 -10
- data/spec/rails_best_practices/lexicals/remove_tab_check_spec.rb +6 -6
- data/spec/rails_best_practices/lexicals/remove_trailing_whitespace_check_spec.rb +6 -6
- data/spec/rails_best_practices/prepares/config_prepare_spec.rb +2 -2
- data/spec/rails_best_practices/prepares/controller_prepare_spec.rb +18 -10
- data/spec/rails_best_practices/prepares/gemfile_prepare_spec.rb +2 -2
- data/spec/rails_best_practices/prepares/helper_prepare_spec.rb +3 -3
- data/spec/rails_best_practices/prepares/initializer_prepare_spec.rb +3 -3
- data/spec/rails_best_practices/prepares/mailer_prepare_spec.rb +2 -2
- data/spec/rails_best_practices/prepares/model_prepare_spec.rb +79 -43
- data/spec/rails_best_practices/prepares/route_prepare_spec.rb +138 -77
- data/spec/rails_best_practices/prepares/schema_prepare_spec.rb +2 -2
- data/spec/rails_best_practices/reviews/add_model_virtual_attribute_review_spec.rb +18 -12
- data/spec/rails_best_practices/reviews/always_add_db_index_review_spec.rb +28 -22
- data/spec/rails_best_practices/reviews/check_destroy_return_value_review_spec.rb +15 -13
- data/spec/rails_best_practices/reviews/check_save_return_value_review_spec.rb +31 -21
- data/spec/rails_best_practices/reviews/default_scope_is_evil_review_spec.rb +6 -6
- data/spec/rails_best_practices/reviews/dry_bundler_in_capistrano_review_spec.rb +5 -5
- data/spec/rails_best_practices/reviews/hash_syntax_review_spec.rb +9 -9
- data/spec/rails_best_practices/reviews/isolate_seed_data_review_spec.rb +7 -7
- data/spec/rails_best_practices/reviews/keep_finders_on_their_own_model_review_spec.rb +9 -9
- data/spec/rails_best_practices/reviews/law_of_demeter_review_spec.rb +21 -14
- data/spec/rails_best_practices/reviews/move_code_into_controller_review_spec.rb +6 -6
- data/spec/rails_best_practices/reviews/move_code_into_helper_review_spec.rb +11 -6
- data/spec/rails_best_practices/reviews/move_code_into_model_review_spec.rb +26 -16
- data/spec/rails_best_practices/reviews/move_finder_to_named_scope_review_spec.rb +7 -7
- data/spec/rails_best_practices/reviews/move_model_logic_into_model_review_spec.rb +9 -7
- data/spec/rails_best_practices/reviews/needless_deep_nesting_review_spec.rb +9 -9
- data/spec/rails_best_practices/reviews/not_rescue_exception_review_spec.rb +9 -9
- data/spec/rails_best_practices/reviews/not_use_default_route_review_spec.rb +5 -5
- data/spec/rails_best_practices/reviews/not_use_time_ago_in_words_review_spec.rb +7 -7
- data/spec/rails_best_practices/reviews/overuse_route_customizations_review_spec.rb +7 -7
- data/spec/rails_best_practices/reviews/protect_mass_assignment_review_spec.rb +24 -19
- data/spec/rails_best_practices/reviews/remove_empty_helpers_review_spec.rb +6 -6
- data/spec/rails_best_practices/reviews/remove_unused_methods_in_controllers_review_spec.rb +44 -31
- data/spec/rails_best_practices/reviews/remove_unused_methods_in_helpers_review_spec.rb +17 -12
- data/spec/rails_best_practices/reviews/remove_unused_methods_in_models_review_spec.rb +46 -44
- data/spec/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review_spec.rb +10 -8
- data/spec/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review_spec.rb +16 -10
- data/spec/rails_best_practices/reviews/restrict_auto_generated_routes_review_spec.rb +54 -31
- data/spec/rails_best_practices/reviews/simplify_render_in_controllers_review_spec.rb +9 -9
- data/spec/rails_best_practices/reviews/simplify_render_in_views_review_spec.rb +13 -13
- data/spec/rails_best_practices/reviews/use_before_filter_review_spec.rb +11 -9
- data/spec/rails_best_practices/reviews/use_model_association_review_spec.rb +7 -7
- data/spec/rails_best_practices/reviews/use_multipart_alternative_as_content_type_of_email_review_spec.rb +21 -17
- data/spec/rails_best_practices/reviews/use_observer_review_spec.rb +6 -6
- data/spec/rails_best_practices/reviews/use_parentheses_in_method_def_review_spec.rb +9 -7
- data/spec/rails_best_practices/reviews/use_query_attribute_review_spec.rb +31 -24
- data/spec/rails_best_practices/reviews/use_say_with_time_in_migrations_review_spec.rb +15 -11
- data/spec/rails_best_practices/reviews/use_scope_access_review_spec.rb +14 -14
- data/spec/rails_best_practices/reviews/use_turbo_sprockets_rails3_review_spec.rb +10 -8
- 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:
|
8
|
+
let(:runner) { Core::Runner.new(reviews: described_class.new) }
|
9
9
|
|
10
|
-
it '
|
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(
|
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 '
|
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(
|
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 '
|
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 '
|
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 '
|
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 '
|
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 '
|
124
|
-
runner = Core::Runner.new(reviews:
|
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:
|
8
|
+
let(:runner) { Core::Runner.new(reviews: described_class.new) }
|
9
9
|
|
10
10
|
context 'if' do
|
11
|
-
it '
|
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 '
|
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 "
|
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 '
|
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 '
|
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 '
|
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 '
|
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 '
|
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 '
|
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 '
|
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 '
|
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 '
|
210
|
-
runner = Core::Runner.new(reviews:
|
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:
|
8
|
+
let(:runner) { Core::Runner.new(prepares: Prepares::GemfilePrepare.new, reviews: described_class.new) }
|
9
9
|
|
10
|
-
it '
|
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 '
|
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 '
|
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 '
|
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 '
|
97
|
-
runner =
|
98
|
-
|
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.
|
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:
|
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.
|
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.
|
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.
|
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:
|