rails_best_practices 0.3.13 → 0.3.14
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.
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.3.
|
|
1
|
+
0.3.14
|
|
@@ -4,7 +4,7 @@ module RailsBestPractices
|
|
|
4
4
|
module Checks
|
|
5
5
|
# Check a view file to make sure there is no complex logic call for model.
|
|
6
6
|
#
|
|
7
|
-
# Implementation: Check if a local variable or instance variable called more than 3 times in if
|
|
7
|
+
# Implementation: Check if a local variable or instance variable called more than 3 times in if conditional statement, then it should more code into model.
|
|
8
8
|
class MoveCodeIntoModelCheck < Check
|
|
9
9
|
|
|
10
10
|
def interesting_nodes
|
|
@@ -17,7 +17,7 @@ module RailsBestPractices
|
|
|
17
17
|
|
|
18
18
|
def evaluate_start(node)
|
|
19
19
|
@variables = {}
|
|
20
|
-
node.grep_nodes(:node_type => :call).each { |call_node| remember_call(call_node) }
|
|
20
|
+
node.conditional_statement.grep_nodes(:node_type => :call).each { |call_node| remember_call(call_node) }
|
|
21
21
|
check_errors
|
|
22
22
|
end
|
|
23
23
|
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
7
|
s.name = %q{rails_best_practices}
|
|
8
|
-
s.version = "0.3.
|
|
8
|
+
s.version = "0.3.14"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
11
|
s.authors = ["Richard Huang"]
|
|
12
|
-
s.date = %q{2009-12-
|
|
12
|
+
s.date = %q{2009-12-15}
|
|
13
13
|
s.default_executable = %q{rails_best_practices}
|
|
14
14
|
s.description = %q{check rails files according to ihower's presentation 'rails best practices'}
|
|
15
15
|
s.email = %q{flyerhzm@gmail.com}
|
|
@@ -91,28 +91,28 @@ Gem::Specification.new do |s|
|
|
|
91
91
|
s.rubygems_version = %q{1.3.5}
|
|
92
92
|
s.summary = %q{check rails files according to ihower's presentation 'rails best practices'}
|
|
93
93
|
s.test_files = [
|
|
94
|
-
"spec/rails_best_practices/checks/
|
|
95
|
-
"spec/rails_best_practices/checks/move_model_logic_into_model_check_spec.rb",
|
|
96
|
-
"spec/rails_best_practices/checks/move_code_into_helper_check_spec.rb",
|
|
97
|
-
"spec/rails_best_practices/checks/move_code_into_controller_check_spec.rb",
|
|
98
|
-
"spec/rails_best_practices/checks/use_observer_check_spec.rb",
|
|
99
|
-
"spec/rails_best_practices/checks/overuse_route_customizations_check_spec.rb",
|
|
100
|
-
"spec/rails_best_practices/checks/nested_model_forms_check_spec.rb",
|
|
94
|
+
"spec/rails_best_practices/checks/add_model_virtual_attribute_check_spec.rb",
|
|
101
95
|
"spec/rails_best_practices/checks/always_add_db_index_check_spec.rb",
|
|
102
|
-
"spec/rails_best_practices/checks/
|
|
103
|
-
"spec/rails_best_practices/checks/
|
|
96
|
+
"spec/rails_best_practices/checks/isolate_seed_data_check_spec.rb",
|
|
97
|
+
"spec/rails_best_practices/checks/keep_finders_on_their_own_model_check_spec.rb",
|
|
104
98
|
"spec/rails_best_practices/checks/law_of_demeter_check_spec.rb",
|
|
105
|
-
"spec/rails_best_practices/checks/
|
|
106
|
-
"spec/rails_best_practices/checks/
|
|
107
|
-
"spec/rails_best_practices/checks/
|
|
99
|
+
"spec/rails_best_practices/checks/many_to_many_collection_check_spec.rb",
|
|
100
|
+
"spec/rails_best_practices/checks/move_code_into_controller_check_spec.rb",
|
|
101
|
+
"spec/rails_best_practices/checks/move_code_into_helper_check_spec.rb",
|
|
102
|
+
"spec/rails_best_practices/checks/move_code_into_model_check_spec.rb",
|
|
108
103
|
"spec/rails_best_practices/checks/move_finder_to_named_scope_check_spec.rb",
|
|
109
|
-
"spec/rails_best_practices/checks/
|
|
110
|
-
"spec/rails_best_practices/checks/
|
|
104
|
+
"spec/rails_best_practices/checks/move_model_logic_into_model_check_spec.rb",
|
|
105
|
+
"spec/rails_best_practices/checks/needless_deep_nesting_check_spec.rb",
|
|
106
|
+
"spec/rails_best_practices/checks/nested_model_forms_check_spec.rb",
|
|
107
|
+
"spec/rails_best_practices/checks/not_use_default_route_check_spec.rb",
|
|
108
|
+
"spec/rails_best_practices/checks/overuse_route_customizations_check_spec.rb",
|
|
109
|
+
"spec/rails_best_practices/checks/replace_complex_creation_with_factory_method_check_spec.rb",
|
|
111
110
|
"spec/rails_best_practices/checks/replace_instance_variable_with_local_variable_check_spec.rb",
|
|
111
|
+
"spec/rails_best_practices/checks/use_before_filter_check_spec.rb",
|
|
112
112
|
"spec/rails_best_practices/checks/use_model_association_check_spec.rb",
|
|
113
|
-
"spec/rails_best_practices/checks/
|
|
114
|
-
"spec/rails_best_practices/checks/
|
|
115
|
-
"spec/rails_best_practices/checks/
|
|
113
|
+
"spec/rails_best_practices/checks/use_model_callback_check_spec.rb",
|
|
114
|
+
"spec/rails_best_practices/checks/use_observer_check_spec.rb",
|
|
115
|
+
"spec/rails_best_practices/checks/use_scope_access_check_spec.rb",
|
|
116
116
|
"spec/spec_helper.rb"
|
|
117
117
|
]
|
|
118
118
|
|
|
@@ -27,10 +27,24 @@ describe RailsBestPractices::Checks::MoveCodeIntoModelCheck do
|
|
|
27
27
|
errors.should_not be_empty
|
|
28
28
|
errors[0].to_s.should == "app/views/posts/show.html.haml:1 - move code into model (@post)"
|
|
29
29
|
end
|
|
30
|
+
|
|
31
|
+
it "should move code into model only check for current if conditional statement" do
|
|
32
|
+
content =<<-EOF
|
|
33
|
+
<% if @post.title %>
|
|
34
|
+
<% if @post.user %>
|
|
35
|
+
<% if @post.description %>
|
|
36
|
+
<% end %>
|
|
37
|
+
<% end %>
|
|
38
|
+
<% end %>
|
|
39
|
+
EOF
|
|
40
|
+
@runner.check('app/views/posts/show.html.erb', content)
|
|
41
|
+
errors = @runner.errors
|
|
42
|
+
errors.should be_empty
|
|
43
|
+
end
|
|
30
44
|
|
|
31
45
|
it "should not move code into model" do
|
|
32
46
|
content =<<-EOF
|
|
33
|
-
<% if @post.editable_by?(current_user)
|
|
47
|
+
<% if @post.editable_by?(current_user) %>
|
|
34
48
|
<%= link_to 'Edit this post', edit_post_url(@post) %>
|
|
35
49
|
<% end %>
|
|
36
50
|
EOF
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rails_best_practices
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.14
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Richard Huang
|
|
@@ -9,7 +9,7 @@ autorequire:
|
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
11
|
|
|
12
|
-
date: 2009-12-
|
|
12
|
+
date: 2009-12-15 00:00:00 +08:00
|
|
13
13
|
default_executable: rails_best_practices
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
@@ -136,26 +136,26 @@ signing_key:
|
|
|
136
136
|
specification_version: 3
|
|
137
137
|
summary: check rails files according to ihower's presentation 'rails best practices'
|
|
138
138
|
test_files:
|
|
139
|
+
- spec/rails_best_practices/checks/add_model_virtual_attribute_check_spec.rb
|
|
140
|
+
- spec/rails_best_practices/checks/always_add_db_index_check_spec.rb
|
|
139
141
|
- spec/rails_best_practices/checks/isolate_seed_data_check_spec.rb
|
|
140
|
-
- spec/rails_best_practices/checks/
|
|
141
|
-
- spec/rails_best_practices/checks/
|
|
142
|
+
- spec/rails_best_practices/checks/keep_finders_on_their_own_model_check_spec.rb
|
|
143
|
+
- spec/rails_best_practices/checks/law_of_demeter_check_spec.rb
|
|
144
|
+
- spec/rails_best_practices/checks/many_to_many_collection_check_spec.rb
|
|
142
145
|
- spec/rails_best_practices/checks/move_code_into_controller_check_spec.rb
|
|
143
|
-
- spec/rails_best_practices/checks/
|
|
144
|
-
- spec/rails_best_practices/checks/
|
|
146
|
+
- spec/rails_best_practices/checks/move_code_into_helper_check_spec.rb
|
|
147
|
+
- spec/rails_best_practices/checks/move_code_into_model_check_spec.rb
|
|
148
|
+
- spec/rails_best_practices/checks/move_finder_to_named_scope_check_spec.rb
|
|
149
|
+
- spec/rails_best_practices/checks/move_model_logic_into_model_check_spec.rb
|
|
150
|
+
- spec/rails_best_practices/checks/needless_deep_nesting_check_spec.rb
|
|
145
151
|
- spec/rails_best_practices/checks/nested_model_forms_check_spec.rb
|
|
146
|
-
- spec/rails_best_practices/checks/always_add_db_index_check_spec.rb
|
|
147
|
-
- spec/rails_best_practices/checks/many_to_many_collection_check_spec.rb
|
|
148
|
-
- spec/rails_best_practices/checks/use_before_filter_check_spec.rb
|
|
149
|
-
- spec/rails_best_practices/checks/law_of_demeter_check_spec.rb
|
|
150
|
-
- spec/rails_best_practices/checks/use_scope_access_check_spec.rb
|
|
151
|
-
- spec/rails_best_practices/checks/replace_complex_creation_with_factory_method_check_spec.rb
|
|
152
152
|
- spec/rails_best_practices/checks/not_use_default_route_check_spec.rb
|
|
153
|
-
- spec/rails_best_practices/checks/
|
|
154
|
-
- spec/rails_best_practices/checks/
|
|
155
|
-
- spec/rails_best_practices/checks/add_model_virtual_attribute_check_spec.rb
|
|
153
|
+
- spec/rails_best_practices/checks/overuse_route_customizations_check_spec.rb
|
|
154
|
+
- spec/rails_best_practices/checks/replace_complex_creation_with_factory_method_check_spec.rb
|
|
156
155
|
- spec/rails_best_practices/checks/replace_instance_variable_with_local_variable_check_spec.rb
|
|
156
|
+
- spec/rails_best_practices/checks/use_before_filter_check_spec.rb
|
|
157
157
|
- spec/rails_best_practices/checks/use_model_association_check_spec.rb
|
|
158
|
-
- spec/rails_best_practices/checks/
|
|
159
|
-
- spec/rails_best_practices/checks/
|
|
160
|
-
- spec/rails_best_practices/checks/
|
|
158
|
+
- spec/rails_best_practices/checks/use_model_callback_check_spec.rb
|
|
159
|
+
- spec/rails_best_practices/checks/use_observer_check_spec.rb
|
|
160
|
+
- spec/rails_best_practices/checks/use_scope_access_check_spec.rb
|
|
161
161
|
- spec/spec_helper.rb
|