rails_best_practices 1.3.0 → 1.4.0

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 (60) hide show
  1. data/Gemfile.lock +1 -1
  2. data/README.md +14 -12
  3. data/lib/rails_best_practices.rb +7 -21
  4. data/lib/rails_best_practices/core.rb +1 -0
  5. data/lib/rails_best_practices/core/check.rb +156 -6
  6. data/lib/rails_best_practices/core/checking_visitor.rb +2 -2
  7. data/lib/rails_best_practices/core/methods.rb +1 -0
  8. data/lib/rails_best_practices/core/nil.rb +10 -0
  9. data/lib/rails_best_practices/core/routes.rb +33 -0
  10. data/lib/rails_best_practices/core/runner.rb +3 -1
  11. data/lib/rails_best_practices/core_ext/sexp.rb +11 -0
  12. data/lib/rails_best_practices/prepares.rb +5 -2
  13. data/lib/rails_best_practices/prepares/controller_prepare.rb +8 -14
  14. data/lib/rails_best_practices/prepares/mailer_prepare.rb +2 -7
  15. data/lib/rails_best_practices/prepares/model_prepare.rb +3 -8
  16. data/lib/rails_best_practices/prepares/route_prepare.rb +142 -0
  17. data/lib/rails_best_practices/prepares/schema_prepare.rb +3 -8
  18. data/lib/rails_best_practices/reviews.rb +1 -0
  19. data/lib/rails_best_practices/reviews/add_model_virtual_attribute_review.rb +3 -8
  20. data/lib/rails_best_practices/reviews/always_add_db_index_review.rb +9 -12
  21. data/lib/rails_best_practices/reviews/dry_bundler_in_capistrano_review.rb +3 -8
  22. data/lib/rails_best_practices/reviews/isolate_seed_data_review.rb +3 -8
  23. data/lib/rails_best_practices/reviews/keep_finders_on_their_own_model_review.rb +2 -8
  24. data/lib/rails_best_practices/reviews/law_of_demeter_review.rb +3 -4
  25. data/lib/rails_best_practices/reviews/move_code_into_controller_review.rb +2 -8
  26. data/lib/rails_best_practices/reviews/move_code_into_helper_review.rb +3 -8
  27. data/lib/rails_best_practices/reviews/move_code_into_model_review.rb +3 -8
  28. data/lib/rails_best_practices/reviews/move_finder_to_named_scope_review.rb +2 -8
  29. data/lib/rails_best_practices/reviews/move_model_logic_into_model_review.rb +3 -8
  30. data/lib/rails_best_practices/reviews/needless_deep_nesting_review.rb +3 -8
  31. data/lib/rails_best_practices/reviews/not_use_default_route_review.rb +3 -8
  32. data/lib/rails_best_practices/reviews/overuse_route_customizations_review.rb +3 -9
  33. data/lib/rails_best_practices/reviews/remove_empty_helpers_review.rb +3 -8
  34. data/lib/rails_best_practices/reviews/remove_unused_methods_in_controllers_review.rb +57 -0
  35. data/lib/rails_best_practices/reviews/remove_unused_methods_in_models_review.rb +6 -92
  36. data/lib/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review.rb +3 -8
  37. data/lib/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review.rb +3 -8
  38. data/lib/rails_best_practices/reviews/restrict_auto_generated_routes_review.rb +3 -8
  39. data/lib/rails_best_practices/reviews/simplify_render_in_controllers_review.rb +3 -8
  40. data/lib/rails_best_practices/reviews/simplify_render_in_views_review.rb +3 -8
  41. data/lib/rails_best_practices/reviews/use_before_filter_review.rb +3 -8
  42. data/lib/rails_best_practices/reviews/use_model_association_review.rb +3 -8
  43. data/lib/rails_best_practices/reviews/use_multipart_alternative_as_content_type_of_email_review.rb +3 -8
  44. data/lib/rails_best_practices/reviews/use_observer_review.rb +3 -8
  45. data/lib/rails_best_practices/reviews/use_query_attribute_review.rb +2 -4
  46. data/lib/rails_best_practices/reviews/use_say_with_time_in_migrations_review.rb +2 -8
  47. data/lib/rails_best_practices/reviews/use_scope_access_review.rb +3 -8
  48. data/lib/rails_best_practices/version.rb +1 -1
  49. data/rails_best_practices.yml +1 -0
  50. data/spec/rails_best_practices/core/check_spec.rb +2 -2
  51. data/spec/rails_best_practices/core/checking_visitor_spec.rb +12 -32
  52. data/spec/rails_best_practices/core/nil_spec.rb +12 -0
  53. data/spec/rails_best_practices/core/routes_spec.rb +10 -0
  54. data/spec/rails_best_practices/core_ext/sexp_spec.rb +14 -0
  55. data/spec/rails_best_practices/prepares/route_prepare_spec.rb +502 -0
  56. data/spec/rails_best_practices/reviews/always_add_db_index_review_spec.rb +14 -1
  57. data/spec/rails_best_practices/reviews/overuse_route_customizations_review_spec.rb +20 -4
  58. data/spec/rails_best_practices/reviews/remove_unused_methods_in_controllers_review_spec.rb +120 -0
  59. data/spec/rails_best_practices/reviews/remove_unused_methods_in_models_review_spec.rb +1 -1
  60. metadata +113 -123
@@ -1,7 +1,9 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe RailsBestPractices::Reviews::AlwaysAddDbIndexReview do
4
- let(:runner) { RailsBestPractices::Core::Runner.new(:reviews => RailsBestPractices::Reviews::AlwaysAddDbIndexReview.new) }
4
+ let(:runner) { RailsBestPractices::Core::Runner.new(
5
+ :reviews => RailsBestPractices::Reviews::AlwaysAddDbIndexReview.new
6
+ ) }
5
7
 
6
8
  it "should always add db index" do
7
9
  content = <<-EOF
@@ -14,6 +16,7 @@ describe RailsBestPractices::Reviews::AlwaysAddDbIndexReview do
14
16
  end
15
17
  EOF
16
18
  runner.review('db/schema.rb', content)
19
+ runner.on_complete
17
20
  runner.should have(2).errors
18
21
  runner.errors[0].to_s.should == "db/schema.rb:2 - always add db index (comments => [post_id])"
19
22
  runner.errors[1].to_s.should == "db/schema.rb:2 - always add db index (comments => [user_id])"
@@ -30,6 +33,7 @@ describe RailsBestPractices::Reviews::AlwaysAddDbIndexReview do
30
33
  end
31
34
  EOF
32
35
  runner.review('db/schema.rb', content)
36
+ runner.on_complete
33
37
  runner.should have(1).errors
34
38
  runner.errors[0].to_s.should == "db/schema.rb:2 - always add db index (versions => [versioned_id, versioned_type])"
35
39
  end
@@ -45,6 +49,7 @@ describe RailsBestPractices::Reviews::AlwaysAddDbIndexReview do
45
49
  end
46
50
  EOF
47
51
  runner.review('db/schema.rb', content)
52
+ runner.on_complete
48
53
  runner.should have(1).errors
49
54
  runner.errors[0].to_s.should == "db/schema.rb:2 - always add db index (versions => [versioned_id, versioned_type])"
50
55
  end
@@ -62,6 +67,7 @@ describe RailsBestPractices::Reviews::AlwaysAddDbIndexReview do
62
67
  end
63
68
  EOF
64
69
  runner.review('db/schema.rb', content)
70
+ runner.on_complete
65
71
  runner.should have(1).errors
66
72
  runner.errors[0].to_s.should == "db/schema.rb:2 - always add db index (taggings => [taggable_id, taggable_type])"
67
73
  end
@@ -79,6 +85,7 @@ describe RailsBestPractices::Reviews::AlwaysAddDbIndexReview do
79
85
  end
80
86
  EOF
81
87
  runner.review('db/schema.rb', content)
88
+ runner.on_complete
82
89
  runner.should have(1).errors
83
90
  runner.errors[0].to_s.should == "db/schema.rb:2 - always add db index (taggings => [tag_id])"
84
91
  end
@@ -95,6 +102,7 @@ describe RailsBestPractices::Reviews::AlwaysAddDbIndexReview do
95
102
  end
96
103
  EOF
97
104
  runner.review('db/schema.rb', content)
105
+ runner.on_complete
98
106
  runner.should have(1).errors
99
107
  runner.errors[0].to_s.should == "db/schema.rb:2 - always add db index (websites => [user_id])"
100
108
  end
@@ -109,6 +117,7 @@ describe RailsBestPractices::Reviews::AlwaysAddDbIndexReview do
109
117
  end
110
118
  EOF
111
119
  runner.review('db/schema.rb', content)
120
+ runner.on_complete
112
121
  runner.should have(0).errors
113
122
  end
114
123
 
@@ -126,6 +135,7 @@ describe RailsBestPractices::Reviews::AlwaysAddDbIndexReview do
126
135
  end
127
136
  EOF
128
137
  runner.review('db/schema.rb', content)
138
+ runner.on_complete
129
139
  runner.should have(0).errors
130
140
  end
131
141
 
@@ -138,6 +148,7 @@ describe RailsBestPractices::Reviews::AlwaysAddDbIndexReview do
138
148
  end
139
149
  EOF
140
150
  runner.review('db/schema.rb', content)
151
+ runner.on_complete
141
152
  runner.should have(0).errors
142
153
  end
143
154
 
@@ -154,6 +165,7 @@ describe RailsBestPractices::Reviews::AlwaysAddDbIndexReview do
154
165
  end
155
166
  EOF
156
167
  runner.review('db/schema.rb', content)
168
+ runner.on_complete
157
169
  runner.should have(0).errors
158
170
  end
159
171
 
@@ -170,6 +182,7 @@ describe RailsBestPractices::Reviews::AlwaysAddDbIndexReview do
170
182
  end
171
183
  EOF
172
184
  runner.review('db/schema.rb', content)
185
+ runner.on_complete
173
186
  runner.should have(0).errors
174
187
  end
175
188
  end
@@ -1,7 +1,9 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe RailsBestPractices::Reviews::OveruseRouteCustomizationsReview do
4
- let(:runner) { RailsBestPractices::Core::Runner.new(:reviews => RailsBestPractices::Reviews::OveruseRouteCustomizationsReview.new) }
4
+ let(:runner) { RailsBestPractices::Core::Runner.new(
5
+ :reviews => RailsBestPractices::Reviews::OveruseRouteCustomizationsReview.new
6
+ ) }
5
7
 
6
8
  describe "rails2" do
7
9
  it "should overuse route customizations" do
@@ -18,13 +20,27 @@ describe RailsBestPractices::Reviews::OveruseRouteCustomizationsReview do
18
20
  runner.errors[0].to_s.should == "config/routes.rb:2 - overuse route customizations (customize_count > 3)"
19
21
  end
20
22
 
21
- it "should overuse route customizations with collection" do
23
+ it "should overuse route customizations with member" do
22
24
  content = <<-EOF
23
25
  ActionController::Routing::Routes.draw do |map|
24
26
  map.resources :posts, :member => { :create_comment => :post,
25
27
  :update_comment => :update,
26
- :delete_comment => :delete },
27
- :collection => { :comments => :get }
28
+ :delete_comment => :delete,
29
+ :disable_comment => :post }
30
+ end
31
+ EOF
32
+ runner.review('config/routes.rb', content)
33
+ runner.should have(1).errors
34
+ runner.errors[0].to_s.should == "config/routes.rb:2 - overuse route customizations (customize_count > 3)"
35
+ end
36
+
37
+ it "should overuse route customizations with collection" do
38
+ content = <<-EOF
39
+ ActionController::Routing::Routes.draw do |map|
40
+ map.resources :posts, :collection => { :list_comments => :get,
41
+ :update_comments => :get,
42
+ :delete_comments => :get,
43
+ :disable_comments => :get }
28
44
  end
29
45
  EOF
30
46
  runner.review('config/routes.rb', content)
@@ -0,0 +1,120 @@
1
+ require 'spec_helper'
2
+
3
+ describe RailsBestPractices::Reviews::RemoveUnusedMethodsInControllersReview do
4
+ let(:runner) { RailsBestPractices::Core::Runner.new(
5
+ :prepares => [RailsBestPractices::Prepares::ControllerPrepare.new, RailsBestPractices::Prepares::RoutePrepare.new],
6
+ :reviews => RailsBestPractices::Reviews::RemoveUnusedMethodsInControllersReview.new({'except_methods' => []})
7
+ ) }
8
+
9
+ context "private/protected" do
10
+ it "should remove unused methods" do
11
+ content =<<-EOF
12
+ RailsBestPracticesCom::Application.routes.draw do
13
+ resources :posts
14
+ end
15
+ EOF
16
+ runner.prepare('config/routes.rb', content)
17
+ content =<<-EOF
18
+ class PostsController < ActiveRecord::Base
19
+ def show; end
20
+ protected
21
+ def load_post; end
22
+ private
23
+ def load_user; end
24
+ end
25
+ EOF
26
+ runner.prepare('app/controllers/posts_controller.rb', content)
27
+ runner.review('app/controllers/posts_controller.rb', content)
28
+ runner.on_complete
29
+ runner.should have(2).errors
30
+ runner.errors[0].to_s.should == "app/controllers/posts_controller.rb:4 - remove unused methods (PostsController#load_post)"
31
+ runner.errors[1].to_s.should == "app/controllers/posts_controller.rb:6 - remove unused methods (PostsController#load_user)"
32
+ end
33
+
34
+ it "should not remove unused methods for before_filter" do
35
+ content =<<-EOF
36
+ RailsBestPracticesCom::Application.routes.draw do
37
+ resources :posts
38
+ end
39
+ EOF
40
+ runner.prepare('config/routes.rb', content)
41
+ content =<<-EOF
42
+ class PostsController < ActiveRecord::Base
43
+ before_filter :load_post, :load_user
44
+ def show; end
45
+ protected
46
+ def load_post; end
47
+ def load_user; end
48
+ end
49
+ EOF
50
+ runner.prepare('app/controllers/posts_controller.rb', content)
51
+ runner.review('app/controllers/posts_controller.rb', content)
52
+ runner.on_complete
53
+ runner.should have(0).errors
54
+ end
55
+
56
+ it "should not remove inherited_resources methods" do
57
+ content =<<-EOF
58
+ RailsBestPracticesCom::Application.routes.draw do
59
+ resources :posts
60
+ end
61
+ EOF
62
+ runner.prepare('config/routes.rb', content)
63
+ content =<<-EOF
64
+ class PostsController < InheritedResources::Base
65
+ def show; end
66
+ protected
67
+ def resource; end
68
+ def collection; end
69
+ def begin_of_association_chain; end
70
+ end
71
+ EOF
72
+ runner.prepare('app/controllers/posts_controller.rb', content)
73
+ runner.review('app/controllers/posts_controller.rb', content)
74
+ runner.on_complete
75
+ runner.should have(0).errors
76
+ end
77
+ end
78
+
79
+ context "public" do
80
+ it "should remove unused methods" do
81
+ content =<<-EOF
82
+ RailsBestPracticesCom::Application.routes.draw do
83
+ resources :posts
84
+ end
85
+ EOF
86
+ runner.prepare('config/routes.rb', content)
87
+ content =<<-EOF
88
+ class PostsController < ApplicationController
89
+ def show; end
90
+ def list; end
91
+ end
92
+ EOF
93
+ runner.prepare('app/controllers/posts_controller.rb', content)
94
+ runner.review('app/controllers/posts_controller.rb', content)
95
+ runner.on_complete
96
+ runner.should have(1).errors
97
+ runner.errors[0].to_s.should == "app/controllers/posts_controller.rb:3 - remove unused methods (PostsController#list)"
98
+ end
99
+
100
+ it "should not remove unused methods if all actions are used in route" do
101
+ content =<<-EOF
102
+ ActionController::Routing::Routes.draw do |map|
103
+ map.connect 'internal/:action/*whatever', :controller => "internal"
104
+ end
105
+ EOF
106
+ runner.prepare('config/routes.rb', content)
107
+ content =<<-EOF
108
+ class InternalController < ApplicationController
109
+ def list; end
110
+ def delete; end
111
+ def whatever; end
112
+ end
113
+ EOF
114
+ runner.prepare('app/controllers/internal_controller.rb', content)
115
+ runner.review('app/controllers/internal_controller.rb', content)
116
+ runner.on_complete
117
+ runner.should have(0).errors
118
+ end
119
+ end
120
+ end
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
 
3
3
  describe RailsBestPractices::Reviews::RemoveUnusedMethodsInModelsReview do
4
4
  let(:runner) { RailsBestPractices::Core::Runner.new(
5
- :prepares => [RailsBestPractices::Prepares::ModelPrepare.new, RailsBestPractices::Prepares::ControllerPrepare.new],
5
+ :prepares => RailsBestPractices::Prepares::ModelPrepare.new,
6
6
  :reviews => RailsBestPractices::Reviews::RemoveUnusedMethodsInModelsReview.new({'except_methods' => ['set_cache']})
7
7
  ) }
8
8
 
metadata CHANGED
@@ -1,149 +1,145 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rails_best_practices
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.4.0
4
5
  prerelease:
5
- version: 1.3.0
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Richard Huang
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-11-13 00:00:00 +08:00
14
- default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
12
+ date: 2011-11-20 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
17
15
  name: sexp_processor
18
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &2152381700 !ruby/object:Gem::Requirement
19
17
  none: false
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
24
22
  type: :runtime
25
23
  prerelease: false
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
24
+ version_requirements: *2152381700
25
+ - !ruby/object:Gem::Dependency
28
26
  name: progressbar
29
- requirement: &id002 !ruby/object:Gem::Requirement
27
+ requirement: &2152380940 !ruby/object:Gem::Requirement
30
28
  none: false
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
34
- version: "0"
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
35
33
  type: :runtime
36
34
  prerelease: false
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
35
+ version_requirements: *2152380940
36
+ - !ruby/object:Gem::Dependency
39
37
  name: colored
40
- requirement: &id003 !ruby/object:Gem::Requirement
38
+ requirement: &2152380200 !ruby/object:Gem::Requirement
41
39
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- version: "0"
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
46
44
  type: :runtime
47
45
  prerelease: false
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
46
+ version_requirements: *2152380200
47
+ - !ruby/object:Gem::Dependency
50
48
  name: erubis
51
- requirement: &id004 !ruby/object:Gem::Requirement
49
+ requirement: &2152379500 !ruby/object:Gem::Requirement
52
50
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- version: "0"
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
57
55
  type: :runtime
58
56
  prerelease: false
59
- version_requirements: *id004
60
- - !ruby/object:Gem::Dependency
57
+ version_requirements: *2152379500
58
+ - !ruby/object:Gem::Dependency
61
59
  name: i18n
62
- requirement: &id005 !ruby/object:Gem::Requirement
60
+ requirement: &2152378620 !ruby/object:Gem::Requirement
63
61
  none: false
64
- requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- version: "0"
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
68
66
  type: :runtime
69
67
  prerelease: false
70
- version_requirements: *id005
71
- - !ruby/object:Gem::Dependency
68
+ version_requirements: *2152378620
69
+ - !ruby/object:Gem::Dependency
72
70
  name: activesupport
73
- requirement: &id006 !ruby/object:Gem::Requirement
71
+ requirement: &2152373900 !ruby/object:Gem::Requirement
74
72
  none: false
75
- requirements:
76
- - - ">="
77
- - !ruby/object:Gem::Version
78
- version: "0"
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
79
77
  type: :runtime
80
78
  prerelease: false
81
- version_requirements: *id006
82
- - !ruby/object:Gem::Dependency
79
+ version_requirements: *2152373900
80
+ - !ruby/object:Gem::Dependency
83
81
  name: rake
84
- requirement: &id007 !ruby/object:Gem::Requirement
82
+ requirement: &2152373120 !ruby/object:Gem::Requirement
85
83
  none: false
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: "0"
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
90
88
  type: :development
91
89
  prerelease: false
92
- version_requirements: *id007
93
- - !ruby/object:Gem::Dependency
90
+ version_requirements: *2152373120
91
+ - !ruby/object:Gem::Dependency
94
92
  name: rspec
95
- requirement: &id008 !ruby/object:Gem::Requirement
93
+ requirement: &2152372280 !ruby/object:Gem::Requirement
96
94
  none: false
97
- requirements:
98
- - - ">="
99
- - !ruby/object:Gem::Version
100
- version: "0"
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
101
99
  type: :development
102
100
  prerelease: false
103
- version_requirements: *id008
104
- - !ruby/object:Gem::Dependency
101
+ version_requirements: *2152372280
102
+ - !ruby/object:Gem::Dependency
105
103
  name: watchr
106
- requirement: &id009 !ruby/object:Gem::Requirement
104
+ requirement: &2152371480 !ruby/object:Gem::Requirement
107
105
  none: false
108
- requirements:
109
- - - ">="
110
- - !ruby/object:Gem::Version
111
- version: "0"
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
112
110
  type: :development
113
111
  prerelease: false
114
- version_requirements: *id009
115
- - !ruby/object:Gem::Dependency
112
+ version_requirements: *2152371480
113
+ - !ruby/object:Gem::Dependency
116
114
  name: haml
117
- requirement: &id010 !ruby/object:Gem::Requirement
115
+ requirement: &2152370380 !ruby/object:Gem::Requirement
118
116
  none: false
119
- requirements:
120
- - - ">="
121
- - !ruby/object:Gem::Version
122
- version: "0"
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
123
121
  type: :development
124
122
  prerelease: false
125
- version_requirements: *id010
126
- - !ruby/object:Gem::Dependency
123
+ version_requirements: *2152370380
124
+ - !ruby/object:Gem::Dependency
127
125
  name: bundler
128
- requirement: &id011 !ruby/object:Gem::Requirement
126
+ requirement: &2152369500 !ruby/object:Gem::Requirement
129
127
  none: false
130
- requirements:
131
- - - ">="
132
- - !ruby/object:Gem::Version
133
- version: "0"
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
134
132
  type: :development
135
133
  prerelease: false
136
- version_requirements: *id011
134
+ version_requirements: *2152369500
137
135
  description: a code metric tool for rails codes, written in Ruby.
138
- email:
136
+ email:
139
137
  - flyerhzm@gmail.com
140
- executables:
138
+ executables:
141
139
  - rails_best_practices
142
140
  extensions: []
143
-
144
141
  extra_rdoc_files: []
145
-
146
- files:
142
+ files:
147
143
  - .gemtest
148
144
  - .gitignore
149
145
  - .rspec.example
@@ -174,6 +170,7 @@ files:
174
170
  - lib/rails_best_practices/core/model_attributes.rb
175
171
  - lib/rails_best_practices/core/models.rb
176
172
  - lib/rails_best_practices/core/nil.rb
173
+ - lib/rails_best_practices/core/routes.rb
177
174
  - lib/rails_best_practices/core/runner.rb
178
175
  - lib/rails_best_practices/core_ext/enumerable.rb
179
176
  - lib/rails_best_practices/core_ext/sexp.rb
@@ -184,6 +181,7 @@ files:
184
181
  - lib/rails_best_practices/prepares/controller_prepare.rb
185
182
  - lib/rails_best_practices/prepares/mailer_prepare.rb
186
183
  - lib/rails_best_practices/prepares/model_prepare.rb
184
+ - lib/rails_best_practices/prepares/route_prepare.rb
187
185
  - lib/rails_best_practices/prepares/schema_prepare.rb
188
186
  - lib/rails_best_practices/reviews.rb
189
187
  - lib/rails_best_practices/reviews/add_model_virtual_attribute_review.rb
@@ -201,6 +199,7 @@ files:
201
199
  - lib/rails_best_practices/reviews/not_use_default_route_review.rb
202
200
  - lib/rails_best_practices/reviews/overuse_route_customizations_review.rb
203
201
  - lib/rails_best_practices/reviews/remove_empty_helpers_review.rb
202
+ - lib/rails_best_practices/reviews/remove_unused_methods_in_controllers_review.rb
204
203
  - lib/rails_best_practices/reviews/remove_unused_methods_in_models_review.rb
205
204
  - lib/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review.rb
206
205
  - lib/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review.rb
@@ -231,6 +230,7 @@ files:
231
230
  - spec/rails_best_practices/core/model_attributes_spec.rb
232
231
  - spec/rails_best_practices/core/models_spec.rb
233
232
  - spec/rails_best_practices/core/nil_spec.rb
233
+ - spec/rails_best_practices/core/routes_spec.rb
234
234
  - spec/rails_best_practices/core/runner_spec.rb
235
235
  - spec/rails_best_practices/core_ext/enumerable_spec.rb
236
236
  - spec/rails_best_practices/core_ext/sexp_spec.rb
@@ -239,6 +239,7 @@ files:
239
239
  - spec/rails_best_practices/prepares/controller_prepare_spec.rb
240
240
  - spec/rails_best_practices/prepares/mailer_prepare_spec.rb
241
241
  - spec/rails_best_practices/prepares/model_prepare_spec.rb
242
+ - spec/rails_best_practices/prepares/route_prepare_spec.rb
242
243
  - spec/rails_best_practices/prepares/schema_prepare_spec.rb
243
244
  - spec/rails_best_practices/reviews/add_model_virtual_attribute_review_spec.rb
244
245
  - spec/rails_best_practices/reviews/always_add_db_index_review_spec.rb
@@ -255,6 +256,7 @@ files:
255
256
  - spec/rails_best_practices/reviews/not_use_default_route_review_spec.rb
256
257
  - spec/rails_best_practices/reviews/overuse_route_customizations_review_spec.rb
257
258
  - spec/rails_best_practices/reviews/remove_empty_helpers_review_spec.rb
259
+ - spec/rails_best_practices/reviews/remove_unused_methods_in_controllers_review_spec.rb
258
260
  - spec/rails_best_practices/reviews/remove_unused_methods_in_models_review_spec.rb
259
261
  - spec/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review_spec.rb
260
262
  - spec/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review_spec.rb
@@ -270,52 +272,37 @@ files:
270
272
  - spec/rails_best_practices/reviews/use_scope_access_review_spec.rb
271
273
  - spec/rails_best_practices_spec.rb
272
274
  - spec/spec_helper.rb
273
- has_rdoc: true
274
275
  homepage: http://rails-bestpractices.com
275
276
  licenses: []
276
-
277
- post_install_message: |
278
- ********************************************************************************
279
-
280
- rails_best_practices is a code metric tool to check the quality of rails codes.
281
-
282
- I highly recommend you browse the Rails Best Practices website first.
283
-
284
- http://rails-bestpractices.com
285
-
286
- Enjoy!
287
-
288
- Richard Huang (flyerhzm@gmail.com)
289
-
290
- ********************************************************************************
291
-
277
+ post_install_message: ! "********************************************************************************\n\n
278
+ \ rails_best_practices is a code metric tool to check the quality of rails codes.\n\n
279
+ \ I highly recommend you browse the Rails Best Practices website first.\n\n http://rails-bestpractices.com\n\n
280
+ \ Enjoy!\n\n Richard Huang (flyerhzm@gmail.com)\n\n********************************************************************************\n"
292
281
  rdoc_options: []
293
-
294
- require_paths:
282
+ require_paths:
295
283
  - lib
296
- required_ruby_version: !ruby/object:Gem::Requirement
284
+ required_ruby_version: !ruby/object:Gem::Requirement
297
285
  none: false
298
- requirements:
299
- - - ">="
300
- - !ruby/object:Gem::Version
301
- hash: 3527788243321139328
302
- segments:
286
+ requirements:
287
+ - - ! '>='
288
+ - !ruby/object:Gem::Version
289
+ version: '0'
290
+ segments:
303
291
  - 0
304
- version: "0"
305
- required_rubygems_version: !ruby/object:Gem::Requirement
292
+ hash: 1634590398891543727
293
+ required_rubygems_version: !ruby/object:Gem::Requirement
306
294
  none: false
307
- requirements:
308
- - - ">="
309
- - !ruby/object:Gem::Version
295
+ requirements:
296
+ - - ! '>='
297
+ - !ruby/object:Gem::Version
310
298
  version: 1.3.6
311
299
  requirements: []
312
-
313
300
  rubyforge_project:
314
- rubygems_version: 1.6.2
301
+ rubygems_version: 1.8.10
315
302
  signing_key:
316
303
  specification_version: 3
317
304
  summary: a code metric tool for rails codes.
318
- test_files:
305
+ test_files:
319
306
  - spec/fixtures/lib/rails_best_practices/plugins/reviews/not_use_rails_root_review.rb
320
307
  - spec/rails_best_practices/core/check_spec.rb
321
308
  - spec/rails_best_practices/core/checking_visitor_spec.rb
@@ -328,6 +315,7 @@ test_files:
328
315
  - spec/rails_best_practices/core/model_attributes_spec.rb
329
316
  - spec/rails_best_practices/core/models_spec.rb
330
317
  - spec/rails_best_practices/core/nil_spec.rb
318
+ - spec/rails_best_practices/core/routes_spec.rb
331
319
  - spec/rails_best_practices/core/runner_spec.rb
332
320
  - spec/rails_best_practices/core_ext/enumerable_spec.rb
333
321
  - spec/rails_best_practices/core_ext/sexp_spec.rb
@@ -336,6 +324,7 @@ test_files:
336
324
  - spec/rails_best_practices/prepares/controller_prepare_spec.rb
337
325
  - spec/rails_best_practices/prepares/mailer_prepare_spec.rb
338
326
  - spec/rails_best_practices/prepares/model_prepare_spec.rb
327
+ - spec/rails_best_practices/prepares/route_prepare_spec.rb
339
328
  - spec/rails_best_practices/prepares/schema_prepare_spec.rb
340
329
  - spec/rails_best_practices/reviews/add_model_virtual_attribute_review_spec.rb
341
330
  - spec/rails_best_practices/reviews/always_add_db_index_review_spec.rb
@@ -352,6 +341,7 @@ test_files:
352
341
  - spec/rails_best_practices/reviews/not_use_default_route_review_spec.rb
353
342
  - spec/rails_best_practices/reviews/overuse_route_customizations_review_spec.rb
354
343
  - spec/rails_best_practices/reviews/remove_empty_helpers_review_spec.rb
344
+ - spec/rails_best_practices/reviews/remove_unused_methods_in_controllers_review_spec.rb
355
345
  - spec/rails_best_practices/reviews/remove_unused_methods_in_models_review_spec.rb
356
346
  - spec/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review_spec.rb
357
347
  - spec/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review_spec.rb