cancan_strong_parameters 0.1.0 → 0.1.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.
@@ -61,17 +61,19 @@ class ActionController::Base
|
|
61
61
|
|
62
62
|
def self.filter_strong_params method, actions, keys # :nodoc:
|
63
63
|
hash = keys.extract_options!
|
64
|
+
keys.flatten!
|
64
65
|
if hash.present? && keys.present?
|
65
66
|
prepend_before_filter :only => actions do
|
66
|
-
|
67
|
+
resource_name = self.class.resource_name
|
68
|
+
self.params[resource_name] = params[resource_name].send method, *[keys, self.class.attributized(hash)].flatten, hash
|
67
69
|
end
|
68
70
|
elsif hash.present?
|
69
71
|
prepend_before_filter :only => actions do
|
70
72
|
self.params.merge! params.send(method, hash)
|
71
73
|
end
|
72
74
|
else
|
73
|
-
resource_name = self.to_s.sub("Controller", "").underscore.split('/').last.singularize
|
74
75
|
prepend_before_filter :only => actions do
|
76
|
+
resource_name = self.class.resource_name
|
75
77
|
if params.has_key?(resource_name)
|
76
78
|
self.params[resource_name] = params[resource_name].send method, *keys
|
77
79
|
else
|
@@ -80,6 +82,18 @@ class ActionController::Base
|
|
80
82
|
end
|
81
83
|
end
|
82
84
|
end
|
85
|
+
|
86
|
+
def self.resource_name
|
87
|
+
self.to_s.sub("Controller", "").underscore.split('/').last.singularize
|
88
|
+
end
|
89
|
+
|
90
|
+
def self.attributized(hash)
|
91
|
+
h = {}
|
92
|
+
hash.each do |k,v|
|
93
|
+
h[:"#{k}_attributes"] = v
|
94
|
+
end
|
95
|
+
h.keys # @todo Allows all nested values! Insecure, but works
|
96
|
+
end
|
83
97
|
end
|
84
98
|
|
85
99
|
module ActionController
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cancan_strong_parameters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-08-28 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: cancan
|
16
|
-
requirement: &
|
16
|
+
requirement: &70171147390260 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70171147390260
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: strong_parameters
|
27
|
-
requirement: &
|
27
|
+
requirement: &70171147389800 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70171147389800
|
36
36
|
description: make CanCan work with strong_parameters
|
37
37
|
email:
|
38
38
|
- me@colinyoung.com
|