accessible_for 0.2.0 → 0.2.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.
@@ -1,7 +1,7 @@
1
1
  require 'mass_assignment_backport'
2
2
 
3
3
  module AccessibleFor
4
- VERSION = "0.2.0"
4
+ VERSION = "0.2.1"
5
5
 
6
6
  def self.included(mod)
7
7
  mod.send :include, MassAssignmentBackport
@@ -21,7 +21,10 @@ module MassAssignmentBackport
21
21
  end
22
22
 
23
23
  def sanitize_for_mass_assignment values, role=:default
24
- return {} if values.nil?
24
+ return nil if values.nil?
25
+ if !self.class._accessible_attributes || self.class._accessible_attributes[role].nil?
26
+ return values
27
+ end
25
28
  {}.tap do |result|
26
29
  values.each do |k, v|
27
30
  if self.class._accessible_attributes[role].include?(k.to_sym)
@@ -6,7 +6,7 @@ class MassAssignmentTest < MiniTest::Unit::TestCase
6
6
  attr_accessible :price, :as => :manager
7
7
 
8
8
  def test_nil_params
9
- assert_empty sanitize_for_mass_assignment(nil)
9
+ assert_nil sanitize_for_mass_assignment(nil)
10
10
  end
11
11
  def test_accessible_default
12
12
  default = sanitize_for_mass_assignment :topping => 'salsa', :price => 123, :extra => 'foo'
@@ -22,6 +22,15 @@ class MassAssignmentTest < MiniTest::Unit::TestCase
22
22
  assert !manager.has_key?(:extra), "role does not get extra key"
23
23
  end
24
24
 
25
+ class UnspecifiedTest
26
+ include MassAssignmentBackport
27
+ end
28
+
29
+ def test_unspecified_passes_values
30
+ unspec = UnspecifiedTest.new
31
+ assert_equal({:foo => :bar, :baz => :wubbo }, unspec.sanitize_for_mass_assignment(:foo => :bar, :baz => :wubbo))
32
+ end
33
+
25
34
  class SubTest
26
35
  include MassAssignmentBackport
27
36
  attr_accessible :toasted
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: accessible_for
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: