eitil 1.1.8 → 1.1.9
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a233118971dbb65f4191fa093109a25178e90ba7b036d60d4a2af89641881e47
|
4
|
+
data.tar.gz: 400bd4e6843244dc54ee9f22b2713e0cf5372b94a226d7fe0f9b5215d5db1fc5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 685e95309951ecaa9d8b512aa571a84ae4f822360da6b8c44b651f993dce65ed64c2a90e1d45f5c5a05a704060b78d8f13ac19b41e7eeb2d74cea6c50a505bfe
|
7
|
+
data.tar.gz: e8fb9af5d30cd42340dcb745c6e802d50f79fed880658d20aea864aa14dcc15ce1d66ec96d46ff211d76e8bcbeb4aad65b67f02c1d917d214712ba2d7a959667
|
@@ -1,14 +1,18 @@
|
|
1
1
|
|
2
2
|
# require "eitil_core/application_controller/permit_model_atts"
|
3
3
|
|
4
|
+
require "pry"
|
5
|
+
|
4
6
|
module ActionController
|
5
7
|
class Parameters
|
6
8
|
|
7
|
-
def permit_model_atts(*models, include: nil, except: nil)
|
9
|
+
def permit_model_atts(*models, include: nil, except: nil, arrays: nil, hashes: nil)
|
8
10
|
|
9
|
-
models = models.is_a?(Array)
|
10
|
-
except = except.is_a?(Array)
|
11
|
+
models = models.is_a?(Array) ? models : [models]
|
12
|
+
except = except.is_a?(Array) ? except : [except]
|
11
13
|
include = include.is_a?(Array) ? include : [include]
|
14
|
+
arrays = arrays.is_a?(Array) ? arrays : [arrays]
|
15
|
+
hashes = hashes.is_a?(Array) ? hashes : [hashes]
|
12
16
|
|
13
17
|
columns = models.map do |model|
|
14
18
|
model.columns_hash.keys.map &:to_sym
|
@@ -17,8 +21,23 @@ module ActionController
|
|
17
21
|
default_reject = %i( id updated_at created_at )
|
18
22
|
given_reject = except.map { |key| key&.to_sym }
|
19
23
|
accepted_values = columns + include - default_reject - given_reject
|
24
|
+
|
25
|
+
arrays = arrays.all?(&:present?) ? arrays.each_with_object({}) { |i,h| h[i] = [] } : nil
|
26
|
+
hashes = hashes.all?(&:present?) ? hashes.each_with_object({}) { |i,h| h[i] = {} } : nil
|
27
|
+
|
28
|
+
if arrays.blank? and hashes.blank?
|
29
|
+
return self.permit(*accepted_values)
|
30
|
+
|
31
|
+
elsif arrays.blank?
|
32
|
+
return self.permit(*accepted_values, **hashes)
|
33
|
+
|
34
|
+
elsif hashes.blank?
|
35
|
+
return self.permit(*accepted_values, **arrays)
|
36
|
+
|
37
|
+
else
|
38
|
+
return self.permit(*accepted_values, **arrays, **hashes)
|
20
39
|
|
21
|
-
|
40
|
+
end
|
22
41
|
end
|
23
42
|
|
24
43
|
end
|
data/lib/eitil/version.rb
CHANGED