jsonapi_compliable 0.11.25 → 0.11.26
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 +21 -12
- 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: 63d6810b917de89c84b683301cd42dbb0d88a6ae
|
4
|
+
data.tar.gz: 13312ec071a1764665f701020898e856e45f0825
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 52f9e04896faeeaab2a0e6e4661a2e69568c25c2c484d824b8df6a217c1c467676c3c99584e92196d3996a32df816b43b3eafdb8d8cd4004236f67b0d6191583
|
7
|
+
data.tar.gz: 2650a80b254d475ba962af09c9cfa7105f156340df388313b6fa6c55df1859f9bc47d5e29eded38dfdd12bafd1bae2c5b88d77d94617cd526245607e910e2adb
|
@@ -61,19 +61,28 @@ module JsonapiCompliable
|
|
61
61
|
# foo,bar,baz becomes ["foo", "bar", "baz"]
|
62
62
|
# {{foo}} becomes ["foo"]
|
63
63
|
# {{foo,bar}},baz becomes ["foo,bar", "baz"]
|
64
|
+
#
|
65
|
+
# JSON of
|
66
|
+
# {{{ "id": 1 }}} becomes { 'id' => 1 }
|
64
67
|
def parse_string_arrays(value)
|
65
|
-
if value.is_a?(String)
|
66
|
-
#
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
68
|
+
if value.is_a?(String)# && value[0..2] != '{{{'
|
69
|
+
# Escaped JSON
|
70
|
+
if value[0..2] == '{{{'
|
71
|
+
value = value.sub('{{', '').sub('}}', '')
|
72
|
+
value = JSON.parse(value)
|
73
|
+
else
|
74
|
+
# Find the quoted strings
|
75
|
+
quotes = value.scan(/{{.*?}}/)
|
76
|
+
# remove them from the rest
|
77
|
+
quotes.each { |q| value.gsub!(q, '') }
|
78
|
+
# remove the quote characters from the quoted strings
|
79
|
+
quotes.each { |q| q.gsub!('{{', '').gsub!('}}', '') }
|
80
|
+
# merge everything back together into an array
|
81
|
+
value = Array(value.split(',')) + quotes
|
82
|
+
# remove any blanks that are left
|
83
|
+
value.reject! { |v| v.length.zero? }
|
84
|
+
value = value[0] if value.length == 1
|
85
|
+
end
|
77
86
|
end
|
78
87
|
value
|
79
88
|
end
|
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.26
|
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-08-
|
12
|
+
date: 2018-08-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: jsonapi-serializable
|