Don't use attr_accessible if StrongParameters is included in the application.
This commit is contained in:
parent
6ff77290f2
commit
67acf817d2
|
@ -1,20 +1,24 @@
|
|||
module Impressionist
|
||||
# Responsability
|
||||
# Responsibility
|
||||
# Toggles between rails > 3.1 < 4
|
||||
# In order to make attr_accessible available in a rails app < 4
|
||||
|
||||
class RailsToggle
|
||||
# decides where or not to include attr_accessible
|
||||
def should_include?
|
||||
ask_rails || false
|
||||
supported_by_rails? && (not using_strong_parameters?)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def using_strong_parameters?
|
||||
defined?(StrongParameters)
|
||||
end
|
||||
|
||||
# returns false if rails >= 4
|
||||
# true if rails < 4
|
||||
def ask_rails
|
||||
::Rails::VERSION::MAJOR.to_i >= 4 ? false : true
|
||||
def supported_by_rails?
|
||||
::Rails::VERSION::MAJOR.to_i < 4
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -15,12 +15,24 @@ module Impressionist
|
|||
|
||||
# see your_minitest_path/lib/minitest/mock.rb
|
||||
it "must not include attr_accessible" do
|
||||
@toggle.stub :ask_rails, false do
|
||||
@toggle.stub :supported_by_rails?, false do
|
||||
refute @toggle.should_include?
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
describe "Strong Parameters" do
|
||||
|
||||
# see your_minitest_path/lib/minitest/mock.rb
|
||||
it "must not include attr_accessible" do
|
||||
@toggle.stub :supported_by_rails?, true do
|
||||
@toggle.stub :using_strong_parameters?, true do
|
||||
refute @toggle.should_include?
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue