rails_best_practices 0.6.6 → 0.6.7
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +0 -1
- data/README.md +28 -24
- data/Rakefile +0 -8
- data/install_supported_rubies.sh +2 -3
- data/lib/rails_best_practices.rb +8 -7
- data/lib/rails_best_practices/core.rb +1 -0
- data/lib/rails_best_practices/core/check.rb +68 -0
- data/lib/rails_best_practices/core/checking_visitor.rb +18 -15
- data/lib/rails_best_practices/core/runner.rb +22 -12
- data/lib/rails_best_practices/core/visitable_sexp.rb +6 -2
- data/lib/rails_best_practices/prepares.rb +11 -0
- data/lib/rails_best_practices/prepares/mailer_prepare.rb +33 -0
- data/lib/rails_best_practices/prepares/model_prepare.rb +60 -0
- data/lib/rails_best_practices/reviews.rb +23 -0
- data/lib/rails_best_practices/{checks/add_model_virtual_attribute_check.rb → reviews/add_model_virtual_attribute_review.rb} +6 -9
- data/lib/rails_best_practices/{checks/always_add_db_index_check.rb → reviews/always_add_db_index_review.rb} +9 -12
- data/lib/rails_best_practices/{checks/dry_bundler_in_capistrano_check.rb → reviews/dry_bundler_in_capistrano_review.rb} +8 -11
- data/lib/rails_best_practices/{checks/isolate_seed_data_check.rb → reviews/isolate_seed_data_review.rb} +11 -14
- data/lib/rails_best_practices/{checks/keep_finders_on_their_own_model_check.rb → reviews/keep_finders_on_their_own_model_review.rb} +7 -10
- data/lib/rails_best_practices/{checks/law_of_demeter_check.rb → reviews/law_of_demeter_review.rb} +10 -14
- data/lib/rails_best_practices/{checks/move_code_into_controller_check.rb → reviews/move_code_into_controller_review.rb} +8 -11
- data/lib/rails_best_practices/{checks/move_code_into_helper_check.rb → reviews/move_code_into_helper_review.rb} +7 -10
- data/lib/rails_best_practices/{checks/move_code_into_model_check.rb → reviews/move_code_into_model_review.rb} +7 -10
- data/lib/rails_best_practices/{checks/move_finder_to_named_scope_check.rb → reviews/move_finder_to_named_scope_review.rb} +7 -10
- data/lib/rails_best_practices/{checks/move_model_logic_into_model_check.rb → reviews/move_model_logic_into_model_review.rb} +8 -11
- data/lib/rails_best_practices/{checks/needless_deep_nesting_check.rb → reviews/needless_deep_nesting_review.rb} +8 -11
- data/lib/rails_best_practices/{checks/not_use_default_route_check.rb → reviews/not_use_default_route_review.rb} +7 -10
- data/lib/rails_best_practices/{checks/overuse_route_customizations_check.rb → reviews/overuse_route_customizations_review.rb} +10 -13
- data/lib/rails_best_practices/{checks/replace_complex_creation_with_factory_method_check.rb → reviews/replace_complex_creation_with_factory_method_review.rb} +8 -11
- data/lib/rails_best_practices/{checks/replace_instance_variable_with_local_variable_check.rb → reviews/replace_instance_variable_with_local_variable_review.rb} +7 -10
- data/lib/rails_best_practices/reviews/review.rb +92 -0
- data/lib/rails_best_practices/{checks/use_before_filter_check.rb → reviews/use_before_filter_review.rb} +8 -11
- data/lib/rails_best_practices/{checks/use_model_association_check.rb → reviews/use_model_association_review.rb} +8 -11
- data/lib/rails_best_practices/{checks/use_observer_check.rb → reviews/use_observer_review.rb} +14 -41
- data/lib/rails_best_practices/{checks/use_query_attribute_check.rb → reviews/use_query_attribute_review.rb} +20 -16
- data/lib/rails_best_practices/{checks/use_say_with_time_in_migrations_check.rb → reviews/use_say_with_time_in_migrations_review.rb} +8 -11
- data/lib/rails_best_practices/{checks/use_scope_access_check.rb → reviews/use_scope_access_review.rb} +8 -11
- data/lib/rails_best_practices/version.rb +1 -1
- data/rails_best_practices.gemspec +3 -2
- data/rails_best_practices.yml +22 -22
- data/rake_rubies.sh +3 -2
- data/spec/rails_best_practices/core/check_spec.rb +41 -0
- data/spec/rails_best_practices/core/checking_visitor_spec.rb +78 -0
- data/spec/rails_best_practices/core/visitable_sexp_spec.rb +39 -36
- data/spec/rails_best_practices/prepares/mailer_prepare_spec.rb +14 -0
- data/spec/rails_best_practices/prepares/model_prepare_spec.rb +22 -0
- data/spec/rails_best_practices/{checks/add_model_virtual_attribute_check_spec.rb → reviews/add_model_virtual_attribute_review_spec.rb} +17 -25
- data/spec/rails_best_practices/{checks/always_add_db_index_check_spec.rb → reviews/always_add_db_index_review_spec.rb} +28 -41
- data/spec/rails_best_practices/{checks/dry_bundler_in_capistrano_check_spec.rb → reviews/dry_bundler_in_capistrano_review_spec.rb} +7 -11
- data/spec/rails_best_practices/{checks/isolate_seed_data_check_spec.rb → reviews/isolate_seed_data_review_spec.rb} +13 -20
- data/spec/rails_best_practices/{checks/keep_finders_on_their_own_model_check_spec.rb → reviews/keep_finders_on_their_own_model_review_spec.rb} +16 -24
- data/spec/rails_best_practices/{checks/law_of_demeter_check_spec.rb → reviews/law_of_demeter_review_spec.rb} +24 -26
- data/spec/rails_best_practices/reviews/move_code_into_controller_review_spec.rb +29 -0
- data/spec/rails_best_practices/reviews/move_code_into_helper_review_spec.rb +24 -0
- data/spec/rails_best_practices/{checks/move_code_into_model_check_spec.rb → reviews/move_code_into_model_review_spec.rb} +12 -18
- data/spec/rails_best_practices/{checks/move_finder_to_named_scope_check_spec.rb → reviews/move_finder_to_named_scope_review_spec.rb} +12 -16
- data/spec/rails_best_practices/{checks/move_model_logic_into_model_check_spec.rb → reviews/move_model_logic_into_model_review_spec.rb} +7 -11
- data/spec/rails_best_practices/{checks/needless_deep_nesting_check_spec.rb → reviews/needless_deep_nesting_review_spec.rb} +26 -37
- data/spec/rails_best_practices/{checks/not_use_default_route_check_spec.rb → reviews/not_use_default_route_review_spec.rb} +13 -19
- data/spec/rails_best_practices/{checks/overuse_route_customizations_check_spec.rb → reviews/overuse_route_customizations_review_spec.rb} +27 -39
- data/spec/rails_best_practices/{checks/replace_complex_creation_with_factory_method_check_spec.rb → reviews/replace_complex_creation_with_factory_method_review_spec.rb} +10 -15
- data/spec/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review_spec.rb +31 -0
- data/spec/rails_best_practices/reviews/review_spec.rb +11 -0
- data/spec/rails_best_practices/{checks/use_before_filter_check_spec.rb → reviews/use_before_filter_review_spec.rb} +11 -17
- data/spec/rails_best_practices/{checks/use_model_association_check_spec.rb → reviews/use_model_association_review_spec.rb} +12 -18
- data/spec/rails_best_practices/{checks/use_observer_check_spec.rb → reviews/use_observer_review_spec.rb} +28 -29
- data/spec/rails_best_practices/reviews/use_query_attribute_review_spec.rb +190 -0
- data/spec/rails_best_practices/{checks/use_say_with_time_in_migrations_check_spec.rb → reviews/use_say_with_time_in_migrations_review_spec.rb} +14 -23
- data/spec/rails_best_practices/{checks/use_scope_access_check_spec.rb → reviews/use_scope_access_review_spec.rb} +28 -37
- data/spec/rails_best_practices_spec.rb +4 -4
- data/spec/spec_helper.rb +1 -0
- metadata +128 -102
- data/lib/rails_best_practices/checks.rb +0 -23
- data/lib/rails_best_practices/checks/check.rb +0 -203
- data/spec/rails_best_practices/checks/check_spec.rb +0 -57
- data/spec/rails_best_practices/checks/move_code_into_controller_check_spec.rb +0 -33
- data/spec/rails_best_practices/checks/move_code_into_helper_check_spec.rb +0 -28
- data/spec/rails_best_practices/checks/replace_instance_variable_with_local_variable_check_spec.rb +0 -36
- data/spec/rails_best_practices/checks/use_query_attribute_check_spec.rb +0 -192
@@ -1,9 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe RailsBestPractices::
|
4
|
-
|
5
|
-
@runner = RailsBestPractices::Core::Runner.new(RailsBestPractices::Checks::UseSayWithTimeInMigrationsCheck.new)
|
6
|
-
end
|
3
|
+
describe RailsBestPractices::Reviews::UseSayWithTimeInMigrationsReview do
|
4
|
+
let(:runner) { RailsBestPractices::Core::Runner.new(:reviews => RailsBestPractices::Reviews::UseSayWithTimeInMigrationsReview.new) }
|
7
5
|
|
8
6
|
it "should use say with time in migrations" do
|
9
7
|
content =<<-EOF
|
@@ -14,11 +12,9 @@ describe RailsBestPractices::Checks::UseSayWithTimeInMigrationsCheck do
|
|
14
12
|
end
|
15
13
|
end
|
16
14
|
EOF
|
17
|
-
|
18
|
-
|
19
|
-
errors.
|
20
|
-
errors.size.should == 1
|
21
|
-
errors[0].to_s.should == "db/migrate/20101010080658_update_users.rb:2 - use say with time in migrations"
|
15
|
+
runner.review('db/migrate/20101010080658_update_users.rb', content)
|
16
|
+
runner.should have(1).errors
|
17
|
+
runner.errors[0].to_s.should == "db/migrate/20101010080658_update_users.rb:2 - use say with time in migrations"
|
22
18
|
end
|
23
19
|
|
24
20
|
it "should use say with time in migrations with create_table" do
|
@@ -35,11 +31,9 @@ describe RailsBestPractices::Checks::UseSayWithTimeInMigrationsCheck do
|
|
35
31
|
end
|
36
32
|
end
|
37
33
|
EOF
|
38
|
-
|
39
|
-
|
40
|
-
errors.
|
41
|
-
errors.size.should == 1
|
42
|
-
errors[0].to_s.should == "db/migrate/20101010080658_update_users.rb:7 - use say with time in migrations"
|
34
|
+
runner.review('db/migrate/20101010080658_update_users.rb', content)
|
35
|
+
runner.should have(1).errors
|
36
|
+
runner.errors[0].to_s.should == "db/migrate/20101010080658_update_users.rb:7 - use say with time in migrations"
|
43
37
|
end
|
44
38
|
|
45
39
|
it "should not use say with time in migrations" do
|
@@ -54,9 +48,8 @@ describe RailsBestPractices::Checks::UseSayWithTimeInMigrationsCheck do
|
|
54
48
|
end
|
55
49
|
end
|
56
50
|
EOF
|
57
|
-
|
58
|
-
|
59
|
-
errors.should be_empty
|
51
|
+
runner.review('db/migrate/20101010080658_update_users.rb', content)
|
52
|
+
runner.should have(0).errors
|
60
53
|
end
|
61
54
|
|
62
55
|
it "should not use say with time when default migration message" do
|
@@ -69,9 +62,8 @@ describe RailsBestPractices::Checks::UseSayWithTimeInMigrationsCheck do
|
|
69
62
|
end
|
70
63
|
end
|
71
64
|
EOF
|
72
|
-
|
73
|
-
|
74
|
-
errors.should be_empty
|
65
|
+
runner.review('db/migrate/20101010080658_create_users.rb', content)
|
66
|
+
runner.should have(0).errors
|
75
67
|
end
|
76
68
|
|
77
69
|
it "should not raise an error" do
|
@@ -106,8 +98,7 @@ describe RailsBestPractices::Checks::UseSayWithTimeInMigrationsCheck do
|
|
106
98
|
end
|
107
99
|
end
|
108
100
|
EOF
|
109
|
-
|
110
|
-
|
111
|
-
errors.should be_empty
|
101
|
+
runner.review('db/migrate/20101010080658_create_users.rb', content)
|
102
|
+
runner.should have(0).errors
|
112
103
|
end
|
113
104
|
end
|
@@ -1,9 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe RailsBestPractices::
|
4
|
-
|
5
|
-
@runner = RailsBestPractices::Core::Runner.new(RailsBestPractices::Checks::UseScopeAccessCheck.new)
|
6
|
-
end
|
3
|
+
describe RailsBestPractices::Reviews::UseScopeAccessReview do
|
4
|
+
let(:runner) { RailsBestPractices::Core::Runner.new(:reviews => RailsBestPractices::Reviews::UseScopeAccessReview.new) }
|
7
5
|
|
8
6
|
context "if" do
|
9
7
|
it "shoud use scope access" do
|
@@ -20,10 +18,9 @@ describe RailsBestPractices::Checks::UseScopeAccessCheck do
|
|
20
18
|
end
|
21
19
|
end
|
22
20
|
EOF
|
23
|
-
|
24
|
-
|
25
|
-
errors.
|
26
|
-
errors[0].to_s.should == "app/controllers/posts_controller.rb:7 - use scope access"
|
21
|
+
runner.review('app/controllers/posts_controller.rb', content)
|
22
|
+
runner.should have(1).errors
|
23
|
+
runner.errors[0].to_s.should == "app/controllers/posts_controller.rb:7 - use scope access"
|
27
24
|
end
|
28
25
|
|
29
26
|
it "shoud use scope access by comparing with id" do
|
@@ -40,10 +37,9 @@ describe RailsBestPractices::Checks::UseScopeAccessCheck do
|
|
40
37
|
end
|
41
38
|
end
|
42
39
|
EOF
|
43
|
-
|
44
|
-
|
45
|
-
errors.
|
46
|
-
errors[0].to_s.should == "app/controllers/posts_controller.rb:7 - use scope access"
|
40
|
+
runner.review('app/controllers/posts_controller.rb', content)
|
41
|
+
runner.should have(1).errors
|
42
|
+
runner.errors[0].to_s.should == "app/controllers/posts_controller.rb:7 - use scope access"
|
47
43
|
end
|
48
44
|
|
49
45
|
it "shoud use scope access with current_user ==" do
|
@@ -60,10 +56,9 @@ describe RailsBestPractices::Checks::UseScopeAccessCheck do
|
|
60
56
|
end
|
61
57
|
end
|
62
58
|
EOF
|
63
|
-
|
64
|
-
|
65
|
-
errors.
|
66
|
-
errors[0].to_s.should == "app/controllers/posts_controller.rb:7 - use scope access"
|
59
|
+
runner.review('app/controllers/posts_controller.rb', content)
|
60
|
+
runner.should have(1).errors
|
61
|
+
runner.errors[0].to_s.should == "app/controllers/posts_controller.rb:7 - use scope access"
|
67
62
|
end
|
68
63
|
|
69
64
|
it "shoud use scope access by current_user.id ==" do
|
@@ -80,10 +75,9 @@ describe RailsBestPractices::Checks::UseScopeAccessCheck do
|
|
80
75
|
end
|
81
76
|
end
|
82
77
|
EOF
|
83
|
-
|
84
|
-
|
85
|
-
errors.
|
86
|
-
errors[0].to_s.should == "app/controllers/posts_controller.rb:7 - use scope access"
|
78
|
+
runner.review('app/controllers/posts_controller.rb', content)
|
79
|
+
runner.should have(1).errors
|
80
|
+
runner.errors[0].to_s.should == "app/controllers/posts_controller.rb:7 - use scope access"
|
87
81
|
end
|
88
82
|
end
|
89
83
|
|
@@ -102,10 +96,9 @@ describe RailsBestPractices::Checks::UseScopeAccessCheck do
|
|
102
96
|
end
|
103
97
|
end
|
104
98
|
EOF
|
105
|
-
|
106
|
-
|
107
|
-
errors.
|
108
|
-
errors[0].to_s.should == "app/controllers/posts_controller.rb:6 - use scope access"
|
99
|
+
runner.review('app/controllers/posts_controller.rb', content)
|
100
|
+
runner.should have(1).errors
|
101
|
+
runner.errors[0].to_s.should == "app/controllers/posts_controller.rb:6 - use scope access"
|
109
102
|
end
|
110
103
|
|
111
104
|
it "shoud use scope access by comparing with id" do
|
@@ -122,10 +115,9 @@ describe RailsBestPractices::Checks::UseScopeAccessCheck do
|
|
122
115
|
end
|
123
116
|
end
|
124
117
|
EOF
|
125
|
-
|
126
|
-
|
127
|
-
errors.
|
128
|
-
errors[0].to_s.should == "app/controllers/posts_controller.rb:6 - use scope access"
|
118
|
+
runner.review('app/controllers/posts_controller.rb', content)
|
119
|
+
runner.should have(1).errors
|
120
|
+
runner.errors[0].to_s.should == "app/controllers/posts_controller.rb:6 - use scope access"
|
129
121
|
end
|
130
122
|
|
131
123
|
it "shoud use scope access with current_user ==" do
|
@@ -142,10 +134,9 @@ describe RailsBestPractices::Checks::UseScopeAccessCheck do
|
|
142
134
|
end
|
143
135
|
end
|
144
136
|
EOF
|
145
|
-
|
146
|
-
|
147
|
-
errors.
|
148
|
-
errors[0].to_s.should == "app/controllers/posts_controller.rb:6 - use scope access"
|
137
|
+
runner.review('app/controllers/posts_controller.rb', content)
|
138
|
+
runner.should have(1).errors
|
139
|
+
runner.errors[0].to_s.should == "app/controllers/posts_controller.rb:6 - use scope access"
|
149
140
|
end
|
150
141
|
|
151
142
|
it "shoud use scope access by current_user.id ==" do
|
@@ -162,10 +153,9 @@ describe RailsBestPractices::Checks::UseScopeAccessCheck do
|
|
162
153
|
end
|
163
154
|
end
|
164
155
|
EOF
|
165
|
-
|
166
|
-
|
167
|
-
errors.
|
168
|
-
errors[0].to_s.should == "app/controllers/posts_controller.rb:6 - use scope access"
|
156
|
+
runner.review('app/controllers/posts_controller.rb', content)
|
157
|
+
runner.should have(1).errors
|
158
|
+
runner.errors[0].to_s.should == "app/controllers/posts_controller.rb:6 - use scope access"
|
169
159
|
end
|
170
160
|
|
171
161
|
it "should no error in use_scope_access_review" do
|
@@ -187,7 +177,8 @@ describe RailsBestPractices::Checks::UseScopeAccessCheck do
|
|
187
177
|
end
|
188
178
|
end
|
189
179
|
EOF
|
190
|
-
|
180
|
+
runner.review('app/controllers/comments_controller.rb', content)
|
181
|
+
runner.should have(0).errors
|
191
182
|
end
|
192
183
|
end
|
193
184
|
end
|
@@ -8,7 +8,7 @@ describe RailsBestPractices do
|
|
8
8
|
dir = File.dirname(__FILE__)
|
9
9
|
RailsBestPractices.expand_dirs_to_files(dir).should be_include(dir + '/rails_best_practices_spec.rb')
|
10
10
|
RailsBestPractices.expand_dirs_to_files(dir).should be_include(dir + '/rails_best_practices/core/visitable_sexp_spec.rb')
|
11
|
-
RailsBestPractices.expand_dirs_to_files(dir).should be_include(dir + '/rails_best_practices/
|
11
|
+
RailsBestPractices.expand_dirs_to_files(dir).should be_include(dir + '/rails_best_practices/reviews/review_spec.rb')
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
@@ -27,9 +27,9 @@ describe RailsBestPractices do
|
|
27
27
|
end
|
28
28
|
|
29
29
|
describe "output_terminal_errors" do
|
30
|
-
check1 = RailsBestPractices::
|
31
|
-
check2 = RailsBestPractices::
|
32
|
-
runner = RailsBestPractices::Core::Runner.new(check1, check2)
|
30
|
+
check1 = RailsBestPractices::Reviews::LawOfDemeterReview.new
|
31
|
+
check2 = RailsBestPractices::Reviews::UseQueryAttributeReview.new
|
32
|
+
runner = RailsBestPractices::Core::Runner.new(:reviews => [check1, check2])
|
33
33
|
check1.add_error "law of demeter", "app/models/user.rb", 10
|
34
34
|
check2.add_error "use query attribute", "app/models/post.rb", 100
|
35
35
|
RailsBestPractices.runner = runner
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_best_practices
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 9
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 6
|
9
|
-
-
|
10
|
-
version: 0.6.
|
9
|
+
- 7
|
10
|
+
version: 0.6.7
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Richard Huang
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-02-14 00:00:00 +08:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -30,10 +30,10 @@ dependencies:
|
|
30
30
|
- 0
|
31
31
|
- 4
|
32
32
|
version: 2.0.4
|
33
|
-
name: ruby_parser
|
34
33
|
prerelease: false
|
35
|
-
type: :runtime
|
36
34
|
version_requirements: *id001
|
35
|
+
type: :runtime
|
36
|
+
name: ruby_parser
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
@@ -46,10 +46,10 @@ dependencies:
|
|
46
46
|
- 0
|
47
47
|
- 9
|
48
48
|
version: 0.0.9
|
49
|
-
name: ruby-progressbar
|
50
49
|
prerelease: false
|
51
|
-
type: :runtime
|
52
50
|
version_requirements: *id002
|
51
|
+
type: :runtime
|
52
|
+
name: ruby-progressbar
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
requirement: &id003 !ruby/object:Gem::Requirement
|
55
55
|
none: false
|
@@ -61,10 +61,10 @@ dependencies:
|
|
61
61
|
- 1
|
62
62
|
- 2
|
63
63
|
version: "1.2"
|
64
|
-
name: colored
|
65
64
|
prerelease: false
|
66
|
-
type: :runtime
|
67
65
|
version_requirements: *id003
|
66
|
+
type: :runtime
|
67
|
+
name: colored
|
68
68
|
- !ruby/object:Gem::Dependency
|
69
69
|
requirement: &id004 !ruby/object:Gem::Requirement
|
70
70
|
none: false
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
- 6
|
78
78
|
- 6
|
79
79
|
version: 2.6.6
|
80
|
-
name: erubis
|
81
80
|
prerelease: false
|
82
|
-
type: :runtime
|
83
81
|
version_requirements: *id004
|
82
|
+
type: :runtime
|
83
|
+
name: erubis
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
85
|
requirement: &id005 !ruby/object:Gem::Requirement
|
86
86
|
none: false
|
@@ -93,10 +93,10 @@ dependencies:
|
|
93
93
|
- 0
|
94
94
|
- 18
|
95
95
|
version: 3.0.18
|
96
|
-
name: haml
|
97
96
|
prerelease: false
|
98
|
-
type: :runtime
|
99
97
|
version_requirements: *id005
|
98
|
+
type: :runtime
|
99
|
+
name: haml
|
100
100
|
- !ruby/object:Gem::Dependency
|
101
101
|
requirement: &id006 !ruby/object:Gem::Requirement
|
102
102
|
none: false
|
@@ -107,10 +107,10 @@ dependencies:
|
|
107
107
|
segments:
|
108
108
|
- 0
|
109
109
|
version: "0"
|
110
|
-
name: i18n
|
111
110
|
prerelease: false
|
112
|
-
type: :runtime
|
113
111
|
version_requirements: *id006
|
112
|
+
type: :runtime
|
113
|
+
name: i18n
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
115
|
requirement: &id007 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
@@ -121,28 +121,42 @@ dependencies:
|
|
121
121
|
segments:
|
122
122
|
- 0
|
123
123
|
version: "0"
|
124
|
-
name: activesupport
|
125
124
|
prerelease: false
|
126
|
-
type: :runtime
|
127
125
|
version_requirements: *id007
|
126
|
+
type: :runtime
|
127
|
+
name: activesupport
|
128
128
|
- !ruby/object:Gem::Dependency
|
129
129
|
requirement: &id008 !ruby/object:Gem::Requirement
|
130
|
+
none: false
|
131
|
+
requirements:
|
132
|
+
- - ">="
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
hash: 3
|
135
|
+
segments:
|
136
|
+
- 0
|
137
|
+
version: "0"
|
138
|
+
prerelease: false
|
139
|
+
version_requirements: *id008
|
140
|
+
type: :development
|
141
|
+
name: rake
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
130
144
|
none: false
|
131
145
|
requirements:
|
132
146
|
- - ~>
|
133
147
|
- !ruby/object:Gem::Version
|
134
|
-
hash:
|
148
|
+
hash: 31
|
135
149
|
segments:
|
136
150
|
- 2
|
151
|
+
- 4
|
137
152
|
- 0
|
138
|
-
|
139
|
-
version: 2.0.1
|
140
|
-
name: rspec
|
153
|
+
version: 2.4.0
|
141
154
|
prerelease: false
|
155
|
+
version_requirements: *id009
|
142
156
|
type: :development
|
143
|
-
|
157
|
+
name: rspec
|
144
158
|
- !ruby/object:Gem::Dependency
|
145
|
-
requirement: &
|
159
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
146
160
|
none: false
|
147
161
|
requirements:
|
148
162
|
- - ~>
|
@@ -152,12 +166,12 @@ dependencies:
|
|
152
166
|
- 0
|
153
167
|
- 6
|
154
168
|
version: "0.6"
|
155
|
-
name: watchr
|
156
169
|
prerelease: false
|
170
|
+
version_requirements: *id010
|
157
171
|
type: :development
|
158
|
-
|
172
|
+
name: watchr
|
159
173
|
- !ruby/object:Gem::Dependency
|
160
|
-
requirement: &
|
174
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
161
175
|
none: false
|
162
176
|
requirements:
|
163
177
|
- - ">="
|
@@ -168,10 +182,10 @@ dependencies:
|
|
168
182
|
- 0
|
169
183
|
- 0
|
170
184
|
version: 1.0.0
|
171
|
-
name: bundler
|
172
185
|
prerelease: false
|
186
|
+
version_requirements: *id011
|
173
187
|
type: :development
|
174
|
-
|
188
|
+
name: bundler
|
175
189
|
description: a code metric tool for rails codes, written in Ruby.
|
176
190
|
email:
|
177
191
|
- flyerhzm@gmail.com
|
@@ -196,69 +210,77 @@ files:
|
|
196
210
|
- bin/rails_best_practices
|
197
211
|
- install_supported_rubies.sh
|
198
212
|
- lib/rails_best_practices.rb
|
199
|
-
- lib/rails_best_practices/checks.rb
|
200
|
-
- lib/rails_best_practices/checks/add_model_virtual_attribute_check.rb
|
201
|
-
- lib/rails_best_practices/checks/always_add_db_index_check.rb
|
202
|
-
- lib/rails_best_practices/checks/check.rb
|
203
|
-
- lib/rails_best_practices/checks/dry_bundler_in_capistrano_check.rb
|
204
|
-
- lib/rails_best_practices/checks/isolate_seed_data_check.rb
|
205
|
-
- lib/rails_best_practices/checks/keep_finders_on_their_own_model_check.rb
|
206
|
-
- lib/rails_best_practices/checks/law_of_demeter_check.rb
|
207
|
-
- lib/rails_best_practices/checks/move_code_into_controller_check.rb
|
208
|
-
- lib/rails_best_practices/checks/move_code_into_helper_check.rb
|
209
|
-
- lib/rails_best_practices/checks/move_code_into_model_check.rb
|
210
|
-
- lib/rails_best_practices/checks/move_finder_to_named_scope_check.rb
|
211
|
-
- lib/rails_best_practices/checks/move_model_logic_into_model_check.rb
|
212
|
-
- lib/rails_best_practices/checks/needless_deep_nesting_check.rb
|
213
|
-
- lib/rails_best_practices/checks/not_use_default_route_check.rb
|
214
|
-
- lib/rails_best_practices/checks/overuse_route_customizations_check.rb
|
215
|
-
- lib/rails_best_practices/checks/replace_complex_creation_with_factory_method_check.rb
|
216
|
-
- lib/rails_best_practices/checks/replace_instance_variable_with_local_variable_check.rb
|
217
|
-
- lib/rails_best_practices/checks/use_before_filter_check.rb
|
218
|
-
- lib/rails_best_practices/checks/use_model_association_check.rb
|
219
|
-
- lib/rails_best_practices/checks/use_observer_check.rb
|
220
|
-
- lib/rails_best_practices/checks/use_query_attribute_check.rb
|
221
|
-
- lib/rails_best_practices/checks/use_say_with_time_in_migrations_check.rb
|
222
|
-
- lib/rails_best_practices/checks/use_scope_access_check.rb
|
223
213
|
- lib/rails_best_practices/command.rb
|
224
214
|
- lib/rails_best_practices/core.rb
|
215
|
+
- lib/rails_best_practices/core/check.rb
|
225
216
|
- lib/rails_best_practices/core/checking_visitor.rb
|
226
217
|
- lib/rails_best_practices/core/error.rb
|
227
218
|
- lib/rails_best_practices/core/runner.rb
|
228
219
|
- lib/rails_best_practices/core/visitable_sexp.rb
|
229
220
|
- lib/rails_best_practices/core_ext/enumerable.rb
|
230
221
|
- lib/rails_best_practices/core_ext/nil_class.rb
|
222
|
+
- lib/rails_best_practices/prepares.rb
|
223
|
+
- lib/rails_best_practices/prepares/mailer_prepare.rb
|
224
|
+
- lib/rails_best_practices/prepares/model_prepare.rb
|
225
|
+
- lib/rails_best_practices/reviews.rb
|
226
|
+
- lib/rails_best_practices/reviews/add_model_virtual_attribute_review.rb
|
227
|
+
- lib/rails_best_practices/reviews/always_add_db_index_review.rb
|
228
|
+
- lib/rails_best_practices/reviews/dry_bundler_in_capistrano_review.rb
|
229
|
+
- lib/rails_best_practices/reviews/isolate_seed_data_review.rb
|
230
|
+
- lib/rails_best_practices/reviews/keep_finders_on_their_own_model_review.rb
|
231
|
+
- lib/rails_best_practices/reviews/law_of_demeter_review.rb
|
232
|
+
- lib/rails_best_practices/reviews/move_code_into_controller_review.rb
|
233
|
+
- lib/rails_best_practices/reviews/move_code_into_helper_review.rb
|
234
|
+
- lib/rails_best_practices/reviews/move_code_into_model_review.rb
|
235
|
+
- lib/rails_best_practices/reviews/move_finder_to_named_scope_review.rb
|
236
|
+
- lib/rails_best_practices/reviews/move_model_logic_into_model_review.rb
|
237
|
+
- lib/rails_best_practices/reviews/needless_deep_nesting_review.rb
|
238
|
+
- lib/rails_best_practices/reviews/not_use_default_route_review.rb
|
239
|
+
- lib/rails_best_practices/reviews/overuse_route_customizations_review.rb
|
240
|
+
- lib/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review.rb
|
241
|
+
- lib/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review.rb
|
242
|
+
- lib/rails_best_practices/reviews/review.rb
|
243
|
+
- lib/rails_best_practices/reviews/use_before_filter_review.rb
|
244
|
+
- lib/rails_best_practices/reviews/use_model_association_review.rb
|
245
|
+
- lib/rails_best_practices/reviews/use_observer_review.rb
|
246
|
+
- lib/rails_best_practices/reviews/use_query_attribute_review.rb
|
247
|
+
- lib/rails_best_practices/reviews/use_say_with_time_in_migrations_review.rb
|
248
|
+
- lib/rails_best_practices/reviews/use_scope_access_review.rb
|
231
249
|
- lib/rails_best_practices/version.rb
|
232
250
|
- rails_best_practices.gemspec
|
233
251
|
- rails_best_practices.yml
|
234
252
|
- rake_rubies.sh
|
235
|
-
- spec/rails_best_practices/
|
236
|
-
- spec/rails_best_practices/
|
237
|
-
- spec/rails_best_practices/checks/check_spec.rb
|
238
|
-
- spec/rails_best_practices/checks/dry_bundler_in_capistrano_check_spec.rb
|
239
|
-
- spec/rails_best_practices/checks/isolate_seed_data_check_spec.rb
|
240
|
-
- spec/rails_best_practices/checks/keep_finders_on_their_own_model_check_spec.rb
|
241
|
-
- spec/rails_best_practices/checks/law_of_demeter_check_spec.rb
|
242
|
-
- spec/rails_best_practices/checks/move_code_into_controller_check_spec.rb
|
243
|
-
- spec/rails_best_practices/checks/move_code_into_helper_check_spec.rb
|
244
|
-
- spec/rails_best_practices/checks/move_code_into_model_check_spec.rb
|
245
|
-
- spec/rails_best_practices/checks/move_finder_to_named_scope_check_spec.rb
|
246
|
-
- spec/rails_best_practices/checks/move_model_logic_into_model_check_spec.rb
|
247
|
-
- spec/rails_best_practices/checks/needless_deep_nesting_check_spec.rb
|
248
|
-
- spec/rails_best_practices/checks/not_use_default_route_check_spec.rb
|
249
|
-
- spec/rails_best_practices/checks/overuse_route_customizations_check_spec.rb
|
250
|
-
- spec/rails_best_practices/checks/replace_complex_creation_with_factory_method_check_spec.rb
|
251
|
-
- spec/rails_best_practices/checks/replace_instance_variable_with_local_variable_check_spec.rb
|
252
|
-
- spec/rails_best_practices/checks/use_before_filter_check_spec.rb
|
253
|
-
- spec/rails_best_practices/checks/use_model_association_check_spec.rb
|
254
|
-
- spec/rails_best_practices/checks/use_observer_check_spec.rb
|
255
|
-
- spec/rails_best_practices/checks/use_query_attribute_check_spec.rb
|
256
|
-
- spec/rails_best_practices/checks/use_say_with_time_in_migrations_check_spec.rb
|
257
|
-
- spec/rails_best_practices/checks/use_scope_access_check_spec.rb
|
253
|
+
- spec/rails_best_practices/core/check_spec.rb
|
254
|
+
- spec/rails_best_practices/core/checking_visitor_spec.rb
|
258
255
|
- spec/rails_best_practices/core/error_spec.rb
|
259
256
|
- spec/rails_best_practices/core/visitable_sexp_spec.rb
|
260
257
|
- spec/rails_best_practices/core_ext/enumerable_spec.rb
|
261
258
|
- spec/rails_best_practices/core_ext/nil_class_spec.rb
|
259
|
+
- spec/rails_best_practices/prepares/mailer_prepare_spec.rb
|
260
|
+
- spec/rails_best_practices/prepares/model_prepare_spec.rb
|
261
|
+
- spec/rails_best_practices/reviews/add_model_virtual_attribute_review_spec.rb
|
262
|
+
- spec/rails_best_practices/reviews/always_add_db_index_review_spec.rb
|
263
|
+
- spec/rails_best_practices/reviews/dry_bundler_in_capistrano_review_spec.rb
|
264
|
+
- spec/rails_best_practices/reviews/isolate_seed_data_review_spec.rb
|
265
|
+
- spec/rails_best_practices/reviews/keep_finders_on_their_own_model_review_spec.rb
|
266
|
+
- spec/rails_best_practices/reviews/law_of_demeter_review_spec.rb
|
267
|
+
- spec/rails_best_practices/reviews/move_code_into_controller_review_spec.rb
|
268
|
+
- spec/rails_best_practices/reviews/move_code_into_helper_review_spec.rb
|
269
|
+
- spec/rails_best_practices/reviews/move_code_into_model_review_spec.rb
|
270
|
+
- spec/rails_best_practices/reviews/move_finder_to_named_scope_review_spec.rb
|
271
|
+
- spec/rails_best_practices/reviews/move_model_logic_into_model_review_spec.rb
|
272
|
+
- spec/rails_best_practices/reviews/needless_deep_nesting_review_spec.rb
|
273
|
+
- spec/rails_best_practices/reviews/not_use_default_route_review_spec.rb
|
274
|
+
- spec/rails_best_practices/reviews/overuse_route_customizations_review_spec.rb
|
275
|
+
- spec/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review_spec.rb
|
276
|
+
- spec/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review_spec.rb
|
277
|
+
- spec/rails_best_practices/reviews/review_spec.rb
|
278
|
+
- spec/rails_best_practices/reviews/use_before_filter_review_spec.rb
|
279
|
+
- spec/rails_best_practices/reviews/use_model_association_review_spec.rb
|
280
|
+
- spec/rails_best_practices/reviews/use_observer_review_spec.rb
|
281
|
+
- spec/rails_best_practices/reviews/use_query_attribute_review_spec.rb
|
282
|
+
- spec/rails_best_practices/reviews/use_say_with_time_in_migrations_review_spec.rb
|
283
|
+
- spec/rails_best_practices/reviews/use_scope_access_review_spec.rb
|
262
284
|
- spec/rails_best_practices_spec.rb
|
263
285
|
- spec/spec_helper.rb
|
264
286
|
has_rdoc: true
|
@@ -270,7 +292,7 @@ post_install_message: |
|
|
270
292
|
|
271
293
|
rails_best_practices is a code metric tool to check the quality of rails codes.
|
272
294
|
|
273
|
-
I highly recommend you
|
295
|
+
I highly recommend you browse the Rails Best Practices website first.
|
274
296
|
|
275
297
|
http://rails-bestpractices.com
|
276
298
|
|
@@ -307,37 +329,41 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
307
329
|
requirements: []
|
308
330
|
|
309
331
|
rubyforge_project:
|
310
|
-
rubygems_version: 1.
|
332
|
+
rubygems_version: 1.4.2
|
311
333
|
signing_key:
|
312
334
|
specification_version: 3
|
313
335
|
summary: a code metric tool for rails codes.
|
314
336
|
test_files:
|
315
|
-
- spec/rails_best_practices/
|
316
|
-
- spec/rails_best_practices/
|
317
|
-
- spec/rails_best_practices/checks/check_spec.rb
|
318
|
-
- spec/rails_best_practices/checks/dry_bundler_in_capistrano_check_spec.rb
|
319
|
-
- spec/rails_best_practices/checks/isolate_seed_data_check_spec.rb
|
320
|
-
- spec/rails_best_practices/checks/keep_finders_on_their_own_model_check_spec.rb
|
321
|
-
- spec/rails_best_practices/checks/law_of_demeter_check_spec.rb
|
322
|
-
- spec/rails_best_practices/checks/move_code_into_controller_check_spec.rb
|
323
|
-
- spec/rails_best_practices/checks/move_code_into_helper_check_spec.rb
|
324
|
-
- spec/rails_best_practices/checks/move_code_into_model_check_spec.rb
|
325
|
-
- spec/rails_best_practices/checks/move_finder_to_named_scope_check_spec.rb
|
326
|
-
- spec/rails_best_practices/checks/move_model_logic_into_model_check_spec.rb
|
327
|
-
- spec/rails_best_practices/checks/needless_deep_nesting_check_spec.rb
|
328
|
-
- spec/rails_best_practices/checks/not_use_default_route_check_spec.rb
|
329
|
-
- spec/rails_best_practices/checks/overuse_route_customizations_check_spec.rb
|
330
|
-
- spec/rails_best_practices/checks/replace_complex_creation_with_factory_method_check_spec.rb
|
331
|
-
- spec/rails_best_practices/checks/replace_instance_variable_with_local_variable_check_spec.rb
|
332
|
-
- spec/rails_best_practices/checks/use_before_filter_check_spec.rb
|
333
|
-
- spec/rails_best_practices/checks/use_model_association_check_spec.rb
|
334
|
-
- spec/rails_best_practices/checks/use_observer_check_spec.rb
|
335
|
-
- spec/rails_best_practices/checks/use_query_attribute_check_spec.rb
|
336
|
-
- spec/rails_best_practices/checks/use_say_with_time_in_migrations_check_spec.rb
|
337
|
-
- spec/rails_best_practices/checks/use_scope_access_check_spec.rb
|
337
|
+
- spec/rails_best_practices/core/check_spec.rb
|
338
|
+
- spec/rails_best_practices/core/checking_visitor_spec.rb
|
338
339
|
- spec/rails_best_practices/core/error_spec.rb
|
339
340
|
- spec/rails_best_practices/core/visitable_sexp_spec.rb
|
340
341
|
- spec/rails_best_practices/core_ext/enumerable_spec.rb
|
341
342
|
- spec/rails_best_practices/core_ext/nil_class_spec.rb
|
343
|
+
- spec/rails_best_practices/prepares/mailer_prepare_spec.rb
|
344
|
+
- spec/rails_best_practices/prepares/model_prepare_spec.rb
|
345
|
+
- spec/rails_best_practices/reviews/add_model_virtual_attribute_review_spec.rb
|
346
|
+
- spec/rails_best_practices/reviews/always_add_db_index_review_spec.rb
|
347
|
+
- spec/rails_best_practices/reviews/dry_bundler_in_capistrano_review_spec.rb
|
348
|
+
- spec/rails_best_practices/reviews/isolate_seed_data_review_spec.rb
|
349
|
+
- spec/rails_best_practices/reviews/keep_finders_on_their_own_model_review_spec.rb
|
350
|
+
- spec/rails_best_practices/reviews/law_of_demeter_review_spec.rb
|
351
|
+
- spec/rails_best_practices/reviews/move_code_into_controller_review_spec.rb
|
352
|
+
- spec/rails_best_practices/reviews/move_code_into_helper_review_spec.rb
|
353
|
+
- spec/rails_best_practices/reviews/move_code_into_model_review_spec.rb
|
354
|
+
- spec/rails_best_practices/reviews/move_finder_to_named_scope_review_spec.rb
|
355
|
+
- spec/rails_best_practices/reviews/move_model_logic_into_model_review_spec.rb
|
356
|
+
- spec/rails_best_practices/reviews/needless_deep_nesting_review_spec.rb
|
357
|
+
- spec/rails_best_practices/reviews/not_use_default_route_review_spec.rb
|
358
|
+
- spec/rails_best_practices/reviews/overuse_route_customizations_review_spec.rb
|
359
|
+
- spec/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review_spec.rb
|
360
|
+
- spec/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review_spec.rb
|
361
|
+
- spec/rails_best_practices/reviews/review_spec.rb
|
362
|
+
- spec/rails_best_practices/reviews/use_before_filter_review_spec.rb
|
363
|
+
- spec/rails_best_practices/reviews/use_model_association_review_spec.rb
|
364
|
+
- spec/rails_best_practices/reviews/use_observer_review_spec.rb
|
365
|
+
- spec/rails_best_practices/reviews/use_query_attribute_review_spec.rb
|
366
|
+
- spec/rails_best_practices/reviews/use_say_with_time_in_migrations_review_spec.rb
|
367
|
+
- spec/rails_best_practices/reviews/use_scope_access_review_spec.rb
|
342
368
|
- spec/rails_best_practices_spec.rb
|
343
369
|
- spec/spec_helper.rb
|