eazypi 0.0.10 → 0.0.12
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/lib/eazypi/serializer.rb +16 -11
- data/lib/eazypi/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 244892ecf0e137179172b7cda3f78dc7f00292194434f5bb053b6246ad25a765
|
4
|
+
data.tar.gz: 158bef0052e89bde84bfe05ab5e1a2b059067aba49ddb4f6b697b68659c3aba2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 636c5f7ce57dc6bb2b575e8d99fafe1b5d8f16bda9cab8f9fbf416600d1c319aea03cf3a2e2dcbee830c22ee0a84bc9d12af9ef55ddb034b5102b8543c2f70f0
|
7
|
+
data.tar.gz: 6d2dcfefbc061d50af85aae149aef8e107c977ace16047a2c72cec27ed32e3eb82b076d7768233f32ac53bfc663d1618b8b8aff523b828e51a07e9d2cd802c98
|
data/lib/eazypi/serializer.rb
CHANGED
@@ -17,10 +17,10 @@ module Eazypi
|
|
17
17
|
@required = required
|
18
18
|
end
|
19
19
|
|
20
|
-
def serialize(object)
|
21
|
-
the_value = value(object)
|
20
|
+
def serialize(object, context)
|
21
|
+
the_value = value(object, context)
|
22
22
|
|
23
|
-
Serializer.serialize_object(type, the_value)
|
23
|
+
Serializer.serialize_object(type, the_value, context)
|
24
24
|
end
|
25
25
|
|
26
26
|
private
|
@@ -33,9 +33,13 @@ module Eazypi
|
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
|
-
def value(object)
|
36
|
+
def value(object, context) # rubocop:disable Metrics/MethodLength,Metrics/PerceivedComplexity
|
37
37
|
if @method
|
38
|
-
@method.
|
38
|
+
if @method.arity == 1
|
39
|
+
@method.call(object)
|
40
|
+
else
|
41
|
+
@method.call(object, context)
|
42
|
+
end
|
39
43
|
elsif @method_name
|
40
44
|
object.send(@method_name)
|
41
45
|
elsif object.is_a?(Hash)
|
@@ -50,15 +54,16 @@ module Eazypi
|
|
50
54
|
end
|
51
55
|
end
|
52
56
|
|
53
|
-
def initialize(object)
|
57
|
+
def initialize(object, context = nil)
|
54
58
|
@object = object
|
59
|
+
@context = context
|
55
60
|
end
|
56
61
|
|
57
62
|
def to_json(*_args)
|
58
63
|
return nil if @object.nil?
|
59
64
|
|
60
65
|
self.class.attributes.to_h do |attribute|
|
61
|
-
[attribute.name, attribute.serialize(@object)]
|
66
|
+
[attribute.name, attribute.serialize(@object, @context)]
|
62
67
|
end
|
63
68
|
end
|
64
69
|
|
@@ -94,23 +99,23 @@ module Eazypi
|
|
94
99
|
end
|
95
100
|
|
96
101
|
def self.object_name
|
97
|
-
name.split("::").
|
102
|
+
name.split("::").join
|
98
103
|
end
|
99
104
|
end
|
100
105
|
|
101
|
-
def self.serialize_object(type_object, object) # rubocop:disable Metrics/MethodLength
|
106
|
+
def self.serialize_object(type_object, object, context = nil) # rubocop:disable Metrics/MethodLength
|
102
107
|
if type_object.nil?
|
103
108
|
nil
|
104
109
|
elsif type_object.is_a?(Array)
|
105
110
|
object&.map do |value|
|
106
|
-
serialize_object(type_object[0], value)
|
111
|
+
serialize_object(type_object[0], value, context)
|
107
112
|
end
|
108
113
|
elsif [Date, Time].include?(type_object)
|
109
114
|
object&.iso8601
|
110
115
|
elsif [String, Integer, Float, :boolean].include?(type_object)
|
111
116
|
object
|
112
117
|
else
|
113
|
-
type_object.new(object).to_json
|
118
|
+
type_object.new(object, context).to_json
|
114
119
|
end
|
115
120
|
end
|
116
121
|
end
|
data/lib/eazypi/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eazypi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Samson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionpack
|
@@ -98,7 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
98
98
|
- !ruby/object:Gem::Version
|
99
99
|
version: '0'
|
100
100
|
requirements: []
|
101
|
-
rubygems_version: 3.5.
|
101
|
+
rubygems_version: 3.5.22
|
102
102
|
signing_key:
|
103
103
|
specification_version: 4
|
104
104
|
summary: An opinionated framework to generate OpenAPI API's for Rails
|