oj_serializers 2.1.0 → 3.0.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/lib/oj_serializers/compat.rb +4 -4
- data/lib/oj_serializers/serializer.rb +6 -6
- data/lib/oj_serializers/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7a055b7489622b5fcc884399410af78d536d8e03750cecdebe5535e2fd46d3d6
|
|
4
|
+
data.tar.gz: 61a1c9852a57dd3d367f22015018a9397759bb3c3a313f1f8d32ce7093e7eb34
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '02887512f4deac20d0a3a6d8d14718539db2baa44fffe3ee273a2b2fdf39312c717f1b62ca75006b1fa32dc16ef38a20e59e05725ba33ddb75c0b0cab498b2f8'
|
|
7
|
+
data.tar.gz: c4451e1a5e1f7f4b9d1b1d17696cc2559114946e220103b6e1c0546ab3198483f9e22e85ba3ed78845265ead0fed97a4fb78e2ed663d2ca6b0485efecabf9667
|
data/CHANGELOG.md
CHANGED
|
@@ -18,28 +18,28 @@ class ActiveModel::Serializer
|
|
|
18
18
|
# OjSerializer: Used internally to write a single object association in :hash mode.
|
|
19
19
|
#
|
|
20
20
|
# Returns nothing.
|
|
21
|
-
def self.one_as_hash(object)
|
|
21
|
+
def self.one_as_hash(object, options = nil)
|
|
22
22
|
new(object)
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
# OjSerializer: Used internally to write an association in :hash mode.
|
|
26
26
|
#
|
|
27
27
|
# Returns nothing.
|
|
28
|
-
def self.many_as_hash(array)
|
|
28
|
+
def self.many_as_hash(array, options = nil)
|
|
29
29
|
array.map { |object| new(object) }
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
# OjSerializer: Used internally to write a single object association in :json mode.
|
|
33
33
|
#
|
|
34
34
|
# Returns nothing.
|
|
35
|
-
def self.write_one(writer, object)
|
|
35
|
+
def self.write_one(writer, object, options = nil)
|
|
36
36
|
writer.push_value(new(object))
|
|
37
37
|
end
|
|
38
38
|
|
|
39
39
|
# OjSerializer: Used internally to write an association in :json mode.
|
|
40
40
|
#
|
|
41
41
|
# Returns nothing.
|
|
42
|
-
def self.write_many(writer, array)
|
|
42
|
+
def self.write_many(writer, array, options = nil)
|
|
43
43
|
writer.push_array
|
|
44
44
|
array.each do |object|
|
|
45
45
|
write_one(writer, object)
|
|
@@ -607,17 +607,17 @@ protected
|
|
|
607
607
|
<<~WRITE_ONE
|
|
608
608
|
if __value = #{value}
|
|
609
609
|
writer.push_key('#{key}')
|
|
610
|
-
#{serializer_class}.write_one(writer, __value)
|
|
610
|
+
#{serializer_class}.write_one(writer, __value, options)
|
|
611
611
|
end
|
|
612
612
|
WRITE_ONE
|
|
613
613
|
when :many
|
|
614
614
|
<<~WRITE_MANY
|
|
615
615
|
writer.push_key('#{key}')
|
|
616
|
-
#{serializer_class}.write_many(writer, #{value})
|
|
616
|
+
#{serializer_class}.write_many(writer, #{value}, options)
|
|
617
617
|
WRITE_MANY
|
|
618
618
|
when :flat
|
|
619
619
|
<<~WRITE_FLAT
|
|
620
|
-
#{serializer_class}.write_to_json(writer, #{value})
|
|
620
|
+
#{serializer_class}.write_to_json(writer, #{value}, options)
|
|
621
621
|
WRITE_FLAT
|
|
622
622
|
else
|
|
623
623
|
raise ArgumentError, "Unknown association type: #{type.inspect}"
|
|
@@ -666,11 +666,11 @@ protected
|
|
|
666
666
|
|
|
667
667
|
case type = options.fetch(:association)
|
|
668
668
|
when :one
|
|
669
|
-
"#{key}: (__value = #{value}) ? #{serializer_class}.one_as_hash(__value) : nil"
|
|
669
|
+
"#{key}: (__value = #{value}) ? #{serializer_class}.one_as_hash(__value, options) : nil"
|
|
670
670
|
when :many
|
|
671
|
-
"#{key}: #{serializer_class}.many_as_hash(#{value})"
|
|
671
|
+
"#{key}: #{serializer_class}.many_as_hash(#{value}, options)"
|
|
672
672
|
when :flat
|
|
673
|
-
"**#{serializer_class}.one_as_hash(#{value})"
|
|
673
|
+
"**#{serializer_class}.one_as_hash(#{value}, options)"
|
|
674
674
|
else
|
|
675
675
|
raise ArgumentError, "Unknown association type: #{type.inspect}"
|
|
676
676
|
end
|