jsonapi_compliable 0.11.23 → 0.11.24
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/jsonapi_compliable/scoping/filter.rb +20 -1
- data/lib/jsonapi_compliable/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9dbdcd8a1a1ed4b1c962ef23eef55b938fdbfe8d
|
4
|
+
data.tar.gz: f888b15956a57405e91abee53596f9b094c17ee5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba51405f7f5a15cc36e5846de9ece7ed255450b628290bde7d853be4f176a48bc0f0a21188c333ca6e4a217d69da83860e3d62ec3fdb34514dc68f5a3f0ae54f
|
7
|
+
data.tar.gz: d1cbe36fb42231efdf58657781917312ca66d7a02598546f1fdcec2f090dd0bc2b40ccb5e489b237860a5e310175b7dc9ba4e3f0e4455217bb4f139960bf638f
|
@@ -52,12 +52,31 @@ module JsonapiCompliable
|
|
52
52
|
filter_param.each_pair do |param_name, param_value|
|
53
53
|
filter = find_filter!(param_name.to_sym)
|
54
54
|
value = param_value
|
55
|
-
value =
|
55
|
+
value = parse_string_arrays(value)
|
56
56
|
value = normalize_string_values(value)
|
57
57
|
yield filter, value
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
61
|
+
# foo,bar,baz becomes ["foo", "bar", "baz"]
|
62
|
+
# {{foo,bar}},baz becomes ["foo,bar", "baz"]
|
63
|
+
def parse_string_arrays(value)
|
64
|
+
if value.is_a?(String) && value.include?(',')
|
65
|
+
# Fine the quoted strings
|
66
|
+
quotes = value.scan(/{{.*?}}/)
|
67
|
+
# remove them from the rest
|
68
|
+
quotes.each { |q| value.gsub!(q, '') }
|
69
|
+
# remove the quote characters from the quoted strings
|
70
|
+
quotes.each { |q| q.gsub!('{{', '').gsub!('}}', '') }
|
71
|
+
# merge everything back together into an array
|
72
|
+
value = value.split(',') + quotes
|
73
|
+
# remove any blanks that are left
|
74
|
+
value.reject! { |v| v.length.zero? }
|
75
|
+
value = value[0] if value.length == 1
|
76
|
+
end
|
77
|
+
value
|
78
|
+
end
|
79
|
+
|
61
80
|
# Convert a string of "true" to true, etc
|
62
81
|
#
|
63
82
|
# NB - avoid Array(value) here since we might want to
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jsonapi_compliable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.24
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lee Richmond
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-06-
|
12
|
+
date: 2018-06-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: jsonapi-serializable
|