rails_best_practices 0.4.0 → 0.4.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.
- data/{LICENSE → MIT_LICENSE} +1 -1
- data/README.textile +27 -18
- data/lib/rails_best_practices/command.rb +8 -5
- data/lib/rails_best_practices/version.rb +4 -0
- metadata +115 -82
- data/.gitignore +0 -2
- data/Rakefile +0 -33
- data/VERSION +0 -1
- data/identifier +0 -0
- data/rails_best_practices.gemspec +0 -126
- data/spec/rails_best_practices/checks/add_model_virtual_attribute_check_spec.rb +0 -113
- data/spec/rails_best_practices/checks/always_add_db_index_check_spec.rb +0 -73
- data/spec/rails_best_practices/checks/isolate_seed_data_check_spec.rb +0 -76
- data/spec/rails_best_practices/checks/keep_finders_on_their_own_model_check_spec.rb +0 -103
- data/spec/rails_best_practices/checks/law_of_demeter_check_spec.rb +0 -76
- 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 -29
- data/spec/rails_best_practices/checks/move_code_into_model_check_spec.rb +0 -55
- data/spec/rails_best_practices/checks/move_finder_to_named_scope_check_spec.rb +0 -82
- data/spec/rails_best_practices/checks/move_model_logic_into_model_check_spec.rb +0 -49
- data/spec/rails_best_practices/checks/needless_deep_nesting_check_spec.rb +0 -70
- data/spec/rails_best_practices/checks/not_use_default_route_check_spec.rb +0 -63
- data/spec/rails_best_practices/checks/overuse_route_customizations_check_spec.rb +0 -145
- data/spec/rails_best_practices/checks/replace_complex_creation_with_factory_method_check_spec.rb +0 -76
- data/spec/rails_best_practices/checks/replace_instance_variable_with_local_variable_check_spec.rb +0 -36
- data/spec/rails_best_practices/checks/use_before_filter_check_spec.rb +0 -85
- data/spec/rails_best_practices/checks/use_model_association_check_spec.rb +0 -71
- data/spec/rails_best_practices/checks/use_observer_check_spec.rb +0 -67
- data/spec/rails_best_practices/checks/use_scope_access_check_spec.rb +0 -193
- data/spec/spec.opts +0 -8
- data/spec/spec_helper.rb +0 -5
data/spec/rails_best_practices/checks/replace_complex_creation_with_factory_method_check_spec.rb
DELETED
@@ -1,76 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
-
|
3
|
-
describe RailsBestPractices::Checks::ReplaceComplexCreationWithFactoryMethodCheck do
|
4
|
-
before(:each) do
|
5
|
-
@runner = RailsBestPractices::Core::Runner.new(RailsBestPractices::Checks::ReplaceComplexCreationWithFactoryMethodCheck.new)
|
6
|
-
end
|
7
|
-
|
8
|
-
it "should replace complex creation with factory method" do
|
9
|
-
content = <<-EOF
|
10
|
-
class InvoiceController < ApplicationController
|
11
|
-
|
12
|
-
def create
|
13
|
-
@invoice = Invoice.new(params[:invoice])
|
14
|
-
@invoice.address = current_user.address
|
15
|
-
@invoice.phone = current_user.phone
|
16
|
-
@invoice.vip = (@invoice.amount > 1000)
|
17
|
-
|
18
|
-
if Time.now.day > 15
|
19
|
-
@invoice.deliver_time = Time.now + 2.month
|
20
|
-
else
|
21
|
-
@invoice.deliver_time = Time.now + 1.month
|
22
|
-
end
|
23
|
-
|
24
|
-
@invoice.save
|
25
|
-
end
|
26
|
-
end
|
27
|
-
EOF
|
28
|
-
@runner.check('app/controllers/invoices_controller.rb', content)
|
29
|
-
errors = @runner.errors
|
30
|
-
errors.should_not be_empty
|
31
|
-
errors[0].to_s.should == "app/controllers/invoices_controller.rb:3 - replace complex creation with factory method (@invoice attribute_assignment_count > 2)"
|
32
|
-
end
|
33
|
-
|
34
|
-
it "should not replace complex creation with factory method with simple creation" do
|
35
|
-
content = <<-EOF
|
36
|
-
class InvoiceController < ApplicationController
|
37
|
-
|
38
|
-
def create
|
39
|
-
@invoice = Invoice.new(params[:invoice])
|
40
|
-
@invoice.address = current_user.address
|
41
|
-
@invoice.phone = current_user.phone
|
42
|
-
@invoice.save
|
43
|
-
end
|
44
|
-
end
|
45
|
-
EOF
|
46
|
-
@runner.check('app/controllers/invoices_controller.rb', content)
|
47
|
-
errors = @runner.errors
|
48
|
-
errors.should be_empty
|
49
|
-
end
|
50
|
-
|
51
|
-
it "should not replace complex creation with factory method when attrasgn_count is 5" do
|
52
|
-
content = <<-EOF
|
53
|
-
class InvoiceController < ApplicationController
|
54
|
-
|
55
|
-
def create
|
56
|
-
@invoice = Invoice.new(params[:invoice])
|
57
|
-
@invoice.address = current_user.address
|
58
|
-
@invoice.phone = current_user.phone
|
59
|
-
@invoice.vip = (@invoice.amount > 1000)
|
60
|
-
|
61
|
-
if Time.now.day > 15
|
62
|
-
@invoice.deliver_time = Time.now + 2.month
|
63
|
-
else
|
64
|
-
@invoice.deliver_time = Time.now + 1.month
|
65
|
-
end
|
66
|
-
|
67
|
-
@invoice.save
|
68
|
-
end
|
69
|
-
end
|
70
|
-
EOF
|
71
|
-
@runner = RailsBestPractices::Core::Runner.new(RailsBestPractices::Checks::ReplaceComplexCreationWithFactoryMethodCheck.new('attribute_assignment_count' => 5))
|
72
|
-
@runner.check('app/controllers/invoices_controller.rb', content)
|
73
|
-
errors = @runner.errors
|
74
|
-
errors.should be_empty
|
75
|
-
end
|
76
|
-
end
|
data/spec/rails_best_practices/checks/replace_instance_variable_with_local_variable_check_spec.rb
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
-
|
3
|
-
describe RailsBestPractices::Checks::ReplaceInstanceVariableWithLocalVariableCheck do
|
4
|
-
before(:each) do
|
5
|
-
@runner = RailsBestPractices::Core::Runner.new(RailsBestPractices::Checks::ReplaceInstanceVariableWithLocalVariableCheck.new)
|
6
|
-
end
|
7
|
-
|
8
|
-
it "should replace instance variable with local varialbe" do
|
9
|
-
content = <<-EOF
|
10
|
-
<%= @post.title %>
|
11
|
-
EOF
|
12
|
-
@runner.check('app/views/posts/_post.html.erb', content)
|
13
|
-
errors = @runner.errors
|
14
|
-
errors.should_not be_empty
|
15
|
-
errors[0].to_s.should == "app/views/posts/_post.html.erb:1 - replace instance variable with local variable"
|
16
|
-
end
|
17
|
-
|
18
|
-
it "should replace instance variable with local varialbe in haml file" do
|
19
|
-
content = <<-EOF
|
20
|
-
= @post.title
|
21
|
-
EOF
|
22
|
-
@runner.check('app/views/posts/_post.html.haml', content)
|
23
|
-
errors = @runner.errors
|
24
|
-
errors.should_not be_empty
|
25
|
-
errors[0].to_s.should == "app/views/posts/_post.html.haml:1 - replace instance variable with local variable"
|
26
|
-
end
|
27
|
-
|
28
|
-
it "should not replace instance variable with local varialbe" do
|
29
|
-
content = <<-EOF
|
30
|
-
<%= post.title %>
|
31
|
-
EOF
|
32
|
-
@runner.check('app/views/posts/_post.html.erb', content)
|
33
|
-
errors = @runner.errors
|
34
|
-
errors.should be_empty
|
35
|
-
end
|
36
|
-
end
|
@@ -1,85 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
-
|
3
|
-
describe RailsBestPractices::Checks::UseBeforeFilterCheck do
|
4
|
-
before(:each) do
|
5
|
-
@runner = RailsBestPractices::Core::Runner.new(RailsBestPractices::Checks::UseBeforeFilterCheck.new)
|
6
|
-
end
|
7
|
-
|
8
|
-
it "should use before_filter" do
|
9
|
-
content = <<-EOF
|
10
|
-
class PostsController < ApplicationController
|
11
|
-
|
12
|
-
def show
|
13
|
-
@post = current_user.posts.find(params[:id])
|
14
|
-
end
|
15
|
-
|
16
|
-
def edit
|
17
|
-
@post = current_user.posts.find(params[:id])
|
18
|
-
end
|
19
|
-
|
20
|
-
def update
|
21
|
-
@post = current_user.posts.find(params[:id])
|
22
|
-
@post.update_attributes(params[:post])
|
23
|
-
end
|
24
|
-
|
25
|
-
def destroy
|
26
|
-
@post = current_user.posts.find(params[:id])
|
27
|
-
@post.destroy
|
28
|
-
end
|
29
|
-
|
30
|
-
end
|
31
|
-
EOF
|
32
|
-
@runner.check('app/controllers/posts_controller.rb', content)
|
33
|
-
errors = @runner.errors
|
34
|
-
errors.should_not be_empty
|
35
|
-
errors[0].to_s.should == "app/controllers/posts_controller.rb:3,7,11,16 - use before_filter for show,edit,update,destroy"
|
36
|
-
end
|
37
|
-
|
38
|
-
it "should not use before_filter" do
|
39
|
-
content = <<-EOF
|
40
|
-
class PostsController < ApplicationController
|
41
|
-
before_filter :find_post, :only => [:show, :edit, :update, :destroy]
|
42
|
-
|
43
|
-
def update
|
44
|
-
@post.update_attributes(params[:post])
|
45
|
-
end
|
46
|
-
|
47
|
-
def destroy
|
48
|
-
@post.destroy
|
49
|
-
end
|
50
|
-
|
51
|
-
protected
|
52
|
-
|
53
|
-
def find_post
|
54
|
-
@post = current_user.posts.find(params[:id])
|
55
|
-
end
|
56
|
-
end
|
57
|
-
EOF
|
58
|
-
@runner.check('app/controllers/posts_controller.rb', content)
|
59
|
-
errors = @runner.errors
|
60
|
-
errors.should be_empty
|
61
|
-
end
|
62
|
-
|
63
|
-
it "should not use before_filter by nil" do
|
64
|
-
content = <<-EOF
|
65
|
-
class PostsController < ApplicationController
|
66
|
-
|
67
|
-
def show
|
68
|
-
end
|
69
|
-
|
70
|
-
def edit
|
71
|
-
end
|
72
|
-
|
73
|
-
def update
|
74
|
-
end
|
75
|
-
|
76
|
-
def destroy
|
77
|
-
end
|
78
|
-
|
79
|
-
end
|
80
|
-
EOF
|
81
|
-
@runner.check('app/controllers/posts_controller.rb', content)
|
82
|
-
errors = @runner.errors
|
83
|
-
errors.should be_empty
|
84
|
-
end
|
85
|
-
end
|
@@ -1,71 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
-
|
3
|
-
describe RailsBestPractices::Checks::UseModelAssociationCheck do
|
4
|
-
before(:each) do
|
5
|
-
@runner = RailsBestPractices::Core::Runner.new(RailsBestPractices::Checks::UseModelAssociationCheck.new)
|
6
|
-
end
|
7
|
-
|
8
|
-
it "should use model association for instance variable" do
|
9
|
-
content = <<-EOF
|
10
|
-
class PostsController < ApplicationController
|
11
|
-
|
12
|
-
def create
|
13
|
-
@post = Post.new(params[:post])
|
14
|
-
@post.user_id = current_user.id
|
15
|
-
@post.save
|
16
|
-
end
|
17
|
-
end
|
18
|
-
EOF
|
19
|
-
@runner.check('app/controllers/posts_controller.rb', content)
|
20
|
-
errors = @runner.errors
|
21
|
-
errors.should_not be_empty
|
22
|
-
errors[0].to_s.should == "app/controllers/posts_controller.rb:3 - use model association (for @post)"
|
23
|
-
end
|
24
|
-
|
25
|
-
it "should not use model association without association assign" do
|
26
|
-
content = <<-EOF
|
27
|
-
class PostsController < ApplicationController
|
28
|
-
|
29
|
-
def create
|
30
|
-
@post = Post.new(params[:post])
|
31
|
-
@post.save
|
32
|
-
end
|
33
|
-
end
|
34
|
-
EOF
|
35
|
-
@runner.check('app/controllers/posts_controller.rb', content)
|
36
|
-
errors = @runner.errors
|
37
|
-
errors.should be_empty
|
38
|
-
end
|
39
|
-
|
40
|
-
it "should use model association for local variable" do
|
41
|
-
content = <<-EOF
|
42
|
-
class PostsController < ApplicationController
|
43
|
-
|
44
|
-
def create
|
45
|
-
post = Post.new(params[:post])
|
46
|
-
post.user_id = current_user.id
|
47
|
-
post.save
|
48
|
-
end
|
49
|
-
end
|
50
|
-
EOF
|
51
|
-
@runner.check('app/controllers/posts_controller.rb', content)
|
52
|
-
errors = @runner.errors
|
53
|
-
errors.should_not be_empty
|
54
|
-
errors[0].to_s.should == "app/controllers/posts_controller.rb:3 - use model association (for post)"
|
55
|
-
end
|
56
|
-
|
57
|
-
it "should not use model association" do
|
58
|
-
content = <<-EOF
|
59
|
-
class PostsController < ApplicationController
|
60
|
-
|
61
|
-
def create
|
62
|
-
post = current_user.posts.buid(params[:post])
|
63
|
-
post.save
|
64
|
-
end
|
65
|
-
end
|
66
|
-
EOF
|
67
|
-
@runner.check('app/controllers/posts_controller.rb', content)
|
68
|
-
errors = @runner.errors
|
69
|
-
errors.should be_empty
|
70
|
-
end
|
71
|
-
end
|
@@ -1,67 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
-
|
3
|
-
describe RailsBestPractices::Checks::UseObserverCheck do
|
4
|
-
before(:each) do
|
5
|
-
@runner = RailsBestPractices::Core::Runner.new(RailsBestPractices::Checks::UseObserverCheck.new)
|
6
|
-
end
|
7
|
-
|
8
|
-
it "should use observer" do
|
9
|
-
content =<<-EOF
|
10
|
-
class Project < ActiveRecord::Base
|
11
|
-
after_create :send_create_notification
|
12
|
-
|
13
|
-
private
|
14
|
-
|
15
|
-
def send_create_notification
|
16
|
-
self.members.each do |member|
|
17
|
-
ProjectMailer.deliver_notification(self, member)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
EOF
|
22
|
-
@runner.check('app/models/project.rb', content)
|
23
|
-
errors = @runner.errors
|
24
|
-
errors.should_not be_empty
|
25
|
-
errors[0].to_s.should == "app/models/project.rb:6 - use observer"
|
26
|
-
end
|
27
|
-
|
28
|
-
it "should not use observer without callback" do
|
29
|
-
content =<<-EOF
|
30
|
-
class Project < ActiveRecord::Base
|
31
|
-
private
|
32
|
-
|
33
|
-
def send_create_notification
|
34
|
-
self.members.each do |member|
|
35
|
-
ProjectMailer.deliver_notification(self, member)
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
EOF
|
40
|
-
@runner.check('app/models/project.rb', content)
|
41
|
-
errors = @runner.errors
|
42
|
-
errors.should be_empty
|
43
|
-
end
|
44
|
-
|
45
|
-
it "should use observer with two after_create" do
|
46
|
-
content =<<-EOF
|
47
|
-
class Project < ActiveRecord::Base
|
48
|
-
after_create :send_create_notification, :update_author
|
49
|
-
|
50
|
-
private
|
51
|
-
|
52
|
-
def send_create_notification
|
53
|
-
self.members.each do |member|
|
54
|
-
ProjectMailer.deliver_notification(self, member)
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
def update_author
|
59
|
-
end
|
60
|
-
end
|
61
|
-
EOF
|
62
|
-
@runner.check('app/models/project.rb', content)
|
63
|
-
errors = @runner.errors
|
64
|
-
errors.should_not be_empty
|
65
|
-
errors[0].to_s.should == "app/models/project.rb:6 - use observer"
|
66
|
-
end
|
67
|
-
end
|
@@ -1,193 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
-
|
3
|
-
describe RailsBestPractices::Checks::UseScopeAccessCheck do
|
4
|
-
before(:each) do
|
5
|
-
@runner = RailsBestPractices::Core::Runner.new(RailsBestPractices::Checks::UseScopeAccessCheck.new)
|
6
|
-
end
|
7
|
-
|
8
|
-
context "if" do
|
9
|
-
it "shoud use scope access" do
|
10
|
-
content = <<-EOF
|
11
|
-
class PostsController < ApplicationController
|
12
|
-
|
13
|
-
def edit
|
14
|
-
@post = Post.find(params[:id])
|
15
|
-
|
16
|
-
if @post.user != current_user
|
17
|
-
flash[:warning] = 'Access Denied'
|
18
|
-
redirect_to posts_url
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
EOF
|
23
|
-
@runner.check('app/controllers/posts_controller.rb', content)
|
24
|
-
errors = @runner.errors
|
25
|
-
errors.should_not be_empty
|
26
|
-
errors[0].to_s.should == "app/controllers/posts_controller.rb:7 - use scope access"
|
27
|
-
end
|
28
|
-
|
29
|
-
it "shoud use scope access by comparing with id" do
|
30
|
-
content = <<-EOF
|
31
|
-
class PostsController < ApplicationController
|
32
|
-
|
33
|
-
def edit
|
34
|
-
@post = Post.find(params[:id])
|
35
|
-
|
36
|
-
if @post.user_id != current_user.id
|
37
|
-
flash[:warning] = 'Access Denied'
|
38
|
-
redirect_to posts_url
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
EOF
|
43
|
-
@runner.check('app/controllers/posts_controller.rb', content)
|
44
|
-
errors = @runner.errors
|
45
|
-
errors.should_not be_empty
|
46
|
-
errors[0].to_s.should == "app/controllers/posts_controller.rb:7 - use scope access"
|
47
|
-
end
|
48
|
-
|
49
|
-
it "shoud use scope access with current_user ==" do
|
50
|
-
content = <<-EOF
|
51
|
-
class PostsController < ApplicationController
|
52
|
-
|
53
|
-
def edit
|
54
|
-
@post = Post.find(params[:id])
|
55
|
-
|
56
|
-
if current_user != @post.user
|
57
|
-
flash[:warning] = 'Access Denied'
|
58
|
-
redirect_to posts_url
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
EOF
|
63
|
-
@runner.check('app/controllers/posts_controller.rb', content)
|
64
|
-
errors = @runner.errors
|
65
|
-
errors.should_not be_empty
|
66
|
-
errors[0].to_s.should == "app/controllers/posts_controller.rb:7 - use scope access"
|
67
|
-
end
|
68
|
-
|
69
|
-
it "shoud use scope access by current_user.id ==" do
|
70
|
-
content = <<-EOF
|
71
|
-
class PostsController < ApplicationController
|
72
|
-
|
73
|
-
def edit
|
74
|
-
@post = Post.find(params[:id])
|
75
|
-
|
76
|
-
if current_user.id != @post.user_id
|
77
|
-
flash[:warning] = 'Access Denied'
|
78
|
-
redirect_to posts_url
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
82
|
-
EOF
|
83
|
-
@runner.check('app/controllers/posts_controller.rb', content)
|
84
|
-
errors = @runner.errors
|
85
|
-
errors.should_not be_empty
|
86
|
-
errors[0].to_s.should == "app/controllers/posts_controller.rb:7 - use scope access"
|
87
|
-
end
|
88
|
-
end
|
89
|
-
|
90
|
-
context "unless" do
|
91
|
-
it "shoud use scope access" do
|
92
|
-
content = <<-EOF
|
93
|
-
class PostsController < ApplicationController
|
94
|
-
|
95
|
-
def edit
|
96
|
-
@post = Post.find(params[:id])
|
97
|
-
|
98
|
-
unless @post.user == current_user
|
99
|
-
flash[:warning] = 'Access Denied'
|
100
|
-
redirect_to posts_url
|
101
|
-
end
|
102
|
-
end
|
103
|
-
end
|
104
|
-
EOF
|
105
|
-
@runner.check('app/controllers/posts_controller.rb', content)
|
106
|
-
errors = @runner.errors
|
107
|
-
errors.should_not be_empty
|
108
|
-
errors[0].to_s.should == "app/controllers/posts_controller.rb:6 - use scope access"
|
109
|
-
end
|
110
|
-
|
111
|
-
it "shoud use scope access by comparing with id" do
|
112
|
-
content = <<-EOF
|
113
|
-
class PostsController < ApplicationController
|
114
|
-
|
115
|
-
def edit
|
116
|
-
@post = Post.find(params[:id])
|
117
|
-
|
118
|
-
unless @post.user_id == current_user.id
|
119
|
-
flash[:warning] = 'Access Denied'
|
120
|
-
redirect_to posts_url
|
121
|
-
end
|
122
|
-
end
|
123
|
-
end
|
124
|
-
EOF
|
125
|
-
@runner.check('app/controllers/posts_controller.rb', content)
|
126
|
-
errors = @runner.errors
|
127
|
-
errors.should_not be_empty
|
128
|
-
errors[0].to_s.should == "app/controllers/posts_controller.rb:6 - use scope access"
|
129
|
-
end
|
130
|
-
|
131
|
-
it "shoud use scope access with current_user ==" do
|
132
|
-
content = <<-EOF
|
133
|
-
class PostsController < ApplicationController
|
134
|
-
|
135
|
-
def edit
|
136
|
-
@post = Post.find(params[:id])
|
137
|
-
|
138
|
-
unless current_user == @post.user
|
139
|
-
flash[:warning] = 'Access Denied'
|
140
|
-
redirect_to posts_url
|
141
|
-
end
|
142
|
-
end
|
143
|
-
end
|
144
|
-
EOF
|
145
|
-
@runner.check('app/controllers/posts_controller.rb', content)
|
146
|
-
errors = @runner.errors
|
147
|
-
errors.should_not be_empty
|
148
|
-
errors[0].to_s.should == "app/controllers/posts_controller.rb:6 - use scope access"
|
149
|
-
end
|
150
|
-
|
151
|
-
it "shoud use scope access by current_user.id ==" do
|
152
|
-
content = <<-EOF
|
153
|
-
class PostsController < ApplicationController
|
154
|
-
|
155
|
-
def edit
|
156
|
-
@post = Post.find(params[:id])
|
157
|
-
|
158
|
-
unless current_user.id == @post.user_id
|
159
|
-
flash[:warning] = 'Access Denied'
|
160
|
-
redirect_to posts_url
|
161
|
-
end
|
162
|
-
end
|
163
|
-
end
|
164
|
-
EOF
|
165
|
-
@runner.check('app/controllers/posts_controller.rb', content)
|
166
|
-
errors = @runner.errors
|
167
|
-
errors.should_not be_empty
|
168
|
-
errors[0].to_s.should == "app/controllers/posts_controller.rb:6 - use scope access"
|
169
|
-
end
|
170
|
-
|
171
|
-
it "should no error in use_scope_access_check" do
|
172
|
-
content = <<-EOF
|
173
|
-
class CommentsController < ApplicationController
|
174
|
-
|
175
|
-
def add_comment
|
176
|
-
@current_user = User.find_by_id(session[:user_id])
|
177
|
-
@id = params[:post_id]
|
178
|
-
@error = ""
|
179
|
-
if (@text = params[:text]) == ""
|
180
|
-
@error = "Please enter a comment!"
|
181
|
-
else
|
182
|
-
@comment = Comment.create_object(@text, @id, @current_user.id)
|
183
|
-
end
|
184
|
-
unless @comment
|
185
|
-
@error = "Comment could not be saved."
|
186
|
-
end
|
187
|
-
end
|
188
|
-
end
|
189
|
-
EOF
|
190
|
-
@runner.check('app/controllers/comments_controller.rb', content)
|
191
|
-
end
|
192
|
-
end
|
193
|
-
end
|