Merge pull request #114 from petergoldstein/feature/add_strong_parameters_support

Don't include attr_accessible if StrongParameters is in use.
This commit is contained in:
Antonio C Nalesso Moreira 2013-09-22 18:52:37 -07:00
commit 07183f6f71
2 changed files with 21 additions and 5 deletions

View File

@ -1,20 +1,24 @@
module Impressionist module Impressionist
# Responsability # Responsibility
# Toggles between rails > 3.1 < 4 # Toggles between rails > 3.1 < 4
# In order to make attr_accessible available in a rails app < 4 # In order to make attr_accessible available in a rails app < 4
class RailsToggle class RailsToggle
# decides where or not to include attr_accessible # decides where or not to include attr_accessible
def should_include? def should_include?
ask_rails || false supported_by_rails? && (not using_strong_parameters?)
end end
private private
def using_strong_parameters?
defined?(StrongParameters)
end
# returns false if rails >= 4 # returns false if rails >= 4
# true if rails < 4 # true if rails < 4
def ask_rails def supported_by_rails?
::Rails::VERSION::MAJOR.to_i >= 4 ? false : true ::Rails::VERSION::MAJOR.to_i < 4
end end
end end

View File

@ -15,12 +15,24 @@ module Impressionist
# see your_minitest_path/lib/minitest/mock.rb # see your_minitest_path/lib/minitest/mock.rb
it "must not include attr_accessible" do it "must not include attr_accessible" do
@toggle.stub :ask_rails, false do @toggle.stub :supported_by_rails?, false do
refute @toggle.should_include? refute @toggle.should_include?
end end
end 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
end end