accessible_for 0.1.0 → 0.2.0
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/README.markdown +8 -0
- data/lib/accessible_for.rb +1 -1
- data/lib/mass_assignment_backport.rb +1 -2
- data/test/mass_assignment_test.rb +3 -0
- metadata +2 -3
- data/mass_assignment_backport.gemspec +0 -16
data/README.markdown
CHANGED
@@ -11,10 +11,16 @@ and we don't want it stinking up the place.
|
|
11
11
|
There are actually two available APIs, the ActiveModel-workalike and a new one
|
12
12
|
called accessible_for. They provide identical functionality.
|
13
13
|
|
14
|
+
# Installation
|
15
|
+
|
16
|
+
$ gem install accessible_for
|
17
|
+
|
14
18
|
# Usage
|
15
19
|
|
16
20
|
## ActiveModel-workalike API
|
17
21
|
|
22
|
+
require 'mass_assignment_backport'
|
23
|
+
|
18
24
|
class TacoShop < Controller
|
19
25
|
include MassAssignmentBackport
|
20
26
|
|
@@ -42,6 +48,8 @@ called accessible_for. They provide identical functionality.
|
|
42
48
|
|
43
49
|
## accessible_for API
|
44
50
|
|
51
|
+
require 'accessible_for'
|
52
|
+
|
45
53
|
class TacoShop < Controller
|
46
54
|
include AccessibleFor
|
47
55
|
|
data/lib/accessible_for.rb
CHANGED
@@ -1,6 +1,4 @@
|
|
1
1
|
module MassAssignmentBackport
|
2
|
-
VERSION = "0.1.0"
|
3
|
-
|
4
2
|
def self.included(mod)
|
5
3
|
mod.extend ClassMethods
|
6
4
|
end
|
@@ -23,6 +21,7 @@ module MassAssignmentBackport
|
|
23
21
|
end
|
24
22
|
|
25
23
|
def sanitize_for_mass_assignment values, role=:default
|
24
|
+
return {} if values.nil?
|
26
25
|
{}.tap do |result|
|
27
26
|
values.each do |k, v|
|
28
27
|
if self.class._accessible_attributes[role].include?(k.to_sym)
|
@@ -5,6 +5,9 @@ class MassAssignmentTest < MiniTest::Unit::TestCase
|
|
5
5
|
attr_accessible :topping, :as => [:default, :manager]
|
6
6
|
attr_accessible :price, :as => :manager
|
7
7
|
|
8
|
+
def test_nil_params
|
9
|
+
assert_empty sanitize_for_mass_assignment(nil)
|
10
|
+
end
|
8
11
|
def test_accessible_default
|
9
12
|
default = sanitize_for_mass_assignment :topping => 'salsa', :price => 123, :extra => 'foo'
|
10
13
|
assert default.has_key?(:topping), "default gets accessible key"
|
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.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-03-
|
12
|
+
date: 2012-03-07 00:00:00.000000000Z
|
13
13
|
dependencies: []
|
14
14
|
description: ! " This is a simple mass-assignment security module loosely based
|
15
15
|
on\n ActiveModel::MassAssignmentSecurity. It attempts to steal the good ideas\n
|
@@ -24,7 +24,6 @@ files:
|
|
24
24
|
- accessible_for.gemspec
|
25
25
|
- lib/accessible_for.rb
|
26
26
|
- lib/mass_assignment_backport.rb
|
27
|
-
- mass_assignment_backport.gemspec
|
28
27
|
- test/accessible_for_test.rb
|
29
28
|
- test/mass_assignment_test.rb
|
30
29
|
homepage:
|
@@ -1,16 +0,0 @@
|
|
1
|
-
$:.unshift File.expand_path("./lib")
|
2
|
-
require 'mass_assignment_backport'
|
3
|
-
|
4
|
-
Gem::Specification.new do |s|
|
5
|
-
s.name = "mass_assignment_backport"
|
6
|
-
s.version = MassAssignmentBackport::VERSION
|
7
|
-
s.summary = 'Simple API for sanitizing hashes by input key'
|
8
|
-
s.description = <<-EOD
|
9
|
-
This is a simple mass-assignment security module loosely based on
|
10
|
-
ActiveModel::MassAssignmentSecurity. It attempts to steal the good ideas
|
11
|
-
and some of the API while being compatible with Rails 2.3-based applications.
|
12
|
-
EOD
|
13
|
-
s.authors = ['Zack Hobson']
|
14
|
-
s.files = `git ls-files`.split("\n")
|
15
|
-
s.test_files = `git ls-files -- test/*`.split("\n")
|
16
|
-
end
|