ree_lib 1.0.9 → 1.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/Gemfile.lock +1 -3
- data/lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb +5 -1
- data/lib/ree_lib/packages/ree_json/schemas/ree_json/functions/from_json.schema.json +1 -1
- data/lib/ree_lib/packages/ree_json/spec/ree_json/functions/from_json_spec.rb +4 -0
- data/lib/ree_lib/packages/ree_object/Package.schema.json +8 -0
- data/lib/ree_lib/packages/ree_object/package/ree_object/functions/dump_as_json.rb +103 -0
- data/lib/ree_lib/packages/ree_object/package/ree_object/functions/load_json_dump.rb +77 -0
- data/lib/ree_lib/packages/ree_object/schemas/ree_object/functions/dump_as_json.schema.json +27 -0
- data/lib/ree_lib/packages/ree_object/schemas/ree_object/functions/load_json_dump.schema.json +27 -0
- data/lib/ree_lib/packages/ree_object/spec/ree_object/functions/dump_as_json_spec.rb +56 -0
- data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/dto/endpoint_dto.rb +1 -0
- data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/functions/build_endpoint_schema.rb +1 -0
- data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/functions/build_request_body_schema.rb +3 -2
- data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/functions/build_schema.rb +12 -2
- data/lib/ree_lib/packages/ree_swagger/schemas/ree_swagger/functions/build_schema.schema.json +4 -0
- data/lib/ree_lib/packages/ree_swagger/spec/functions/build_endpoint_schema_spec.rb +5 -0
- data/lib/ree_lib/packages/ree_swagger/spec/functions/build_schema_spec.rb +17 -0
- data/lib/ree_lib/version.rb +1 -1
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5642d84c9a164bab7fd9b03ba1e34ab6f50a56001e0d0f5c03bfeb329891c2bf
|
4
|
+
data.tar.gz: 1ef62cc8d2db588c1f1b91a7d6899e7e1f96df2039c6fb833a77d6f3af35ee17
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 81a32a78567d690bbeef04c74d4636bfe7ba3e9096870be936cae4420ce3371bb74f8d237545dd7a73dc543b147a952aeed85eaff180a1ea07222bc4eb3fbb7b
|
7
|
+
data.tar.gz: a7e6e807ec71aec8275dd753abb1f491adfc75228051b65059fd1eb55e4816696f0d95e2550be78535fca6e8b5daec4c864eb395a5037619e41715e2ed7d9b8c
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ree_lib (1.0.
|
4
|
+
ree_lib (1.0.12)
|
5
5
|
binding_of_caller (~> 1.0.0)
|
6
6
|
i18n (~> 1.12.0)
|
7
7
|
loofah (~> 2.18.0)
|
@@ -36,8 +36,6 @@ GEM
|
|
36
36
|
crass (~> 1.0.2)
|
37
37
|
nokogiri (>= 1.5.9)
|
38
38
|
msgpack (1.5.4)
|
39
|
-
nokogiri (1.13.8-x86_64-darwin)
|
40
|
-
racc (~> 1.4)
|
41
39
|
nokogiri (1.13.8-x86_64-linux)
|
42
40
|
racc (~> 1.4)
|
43
41
|
oj (3.13.20)
|
@@ -7,6 +7,8 @@ class ReeJson::FromJson
|
|
7
7
|
}
|
8
8
|
end
|
9
9
|
|
10
|
+
ParseJsonError = Class.new(StandardError)
|
11
|
+
|
10
12
|
contract(
|
11
13
|
Any,
|
12
14
|
Kwargs[
|
@@ -16,7 +18,7 @@ class ReeJson::FromJson
|
|
16
18
|
symbol_keys?: Bool,
|
17
19
|
RestKeys => Any
|
18
20
|
] => Hash
|
19
|
-
).throws(
|
21
|
+
).throws(ParseJsonError)
|
20
22
|
def call(object, mode: :rails, **opts)
|
21
23
|
options = DEFAULT_OPTIONS
|
22
24
|
.dup
|
@@ -25,5 +27,7 @@ class ReeJson::FromJson
|
|
25
27
|
)
|
26
28
|
|
27
29
|
Oj.load(object, options)
|
30
|
+
rescue ArgumentError, EncodingError
|
31
|
+
raise ParseJsonError.new
|
28
32
|
end
|
29
33
|
end
|
@@ -27,10 +27,18 @@
|
|
27
27
|
"name": "deep_freeze",
|
28
28
|
"schema": "packages/ree_object/schemas/ree_object/functions/deep_freeze.schema.json"
|
29
29
|
},
|
30
|
+
{
|
31
|
+
"name": "dump_as_json",
|
32
|
+
"schema": "packages/ree_object/schemas/ree_object/functions/dump_as_json.schema.json"
|
33
|
+
},
|
30
34
|
{
|
31
35
|
"name": "is_blank",
|
32
36
|
"schema": "packages/ree_object/schemas/ree_object/functions/is_blank.schema.json"
|
33
37
|
},
|
38
|
+
{
|
39
|
+
"name": "load_json_dump",
|
40
|
+
"schema": "packages/ree_object/schemas/ree_object/functions/load_json_dump.schema.json"
|
41
|
+
},
|
34
42
|
{
|
35
43
|
"name": "not_blank",
|
36
44
|
"schema": "packages/ree_object/schemas/ree_object/functions/not_blank.schema.json"
|
@@ -0,0 +1,103 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'set'
|
4
|
+
|
5
|
+
class ReeObject::DumpAsJson
|
6
|
+
include Ree::FnDSL
|
7
|
+
|
8
|
+
fn :dump_as_json do
|
9
|
+
def_error { RecursiveObjectErr }
|
10
|
+
end
|
11
|
+
|
12
|
+
ARRAY = 'array'
|
13
|
+
HASH = 'hash'
|
14
|
+
PRIMITIVE = 'primitive'
|
15
|
+
OBJECT = 'object'
|
16
|
+
|
17
|
+
BASIC_TYPES = [
|
18
|
+
Date, Time, Numeric, String, FalseClass, TrueClass, NilClass, Symbol,
|
19
|
+
Module, Class
|
20
|
+
].freeze
|
21
|
+
|
22
|
+
contract(
|
23
|
+
Any => Or[Hash, ArrayOf[Any], *BASIC_TYPES]
|
24
|
+
).throws(RecursiveObjectErr)
|
25
|
+
def call(obj)
|
26
|
+
recursively_convert(obj, {})
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def recursively_convert(obj, cache)
|
32
|
+
ancestors = obj.class.ancestors
|
33
|
+
|
34
|
+
if ancestors.intersection(BASIC_TYPES).size > 0
|
35
|
+
{
|
36
|
+
'type' => PRIMITIVE,
|
37
|
+
'class' => obj.class.name,
|
38
|
+
'value' => dump_primitive(obj)
|
39
|
+
}
|
40
|
+
elsif obj.is_a?(Array)
|
41
|
+
{
|
42
|
+
'type' => ARRAY,
|
43
|
+
'class' => obj.class,
|
44
|
+
'value' => obj.map { recursively_convert(_1, cache) }
|
45
|
+
}
|
46
|
+
elsif obj.is_a?(Hash)
|
47
|
+
{
|
48
|
+
'type' => HASH,
|
49
|
+
'class' => obj.class,
|
50
|
+
'value' => convert_hash(obj, cache)
|
51
|
+
}
|
52
|
+
elsif obj.is_a?(Proc)
|
53
|
+
raise ArgumentError, "procs are not supported"
|
54
|
+
else
|
55
|
+
{
|
56
|
+
'type' => OBJECT,
|
57
|
+
'class' => obj.class.name || (raise ArgumentError.new("anonymous classes are not supported")),
|
58
|
+
'value' => convert_object(obj, cache)
|
59
|
+
}
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
PRIMITIVE_SET = Set.new([Symbol, Date, Time, DateTime, Module, Class])
|
64
|
+
|
65
|
+
def dump_primitive(val)
|
66
|
+
if PRIMITIVE_SET.include?(val.class)
|
67
|
+
val.to_s
|
68
|
+
else
|
69
|
+
val
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
def convert_hash(obj, cache)
|
74
|
+
result = []
|
75
|
+
|
76
|
+
obj.each do |k, v|
|
77
|
+
result << [
|
78
|
+
recursively_convert(k, cache),
|
79
|
+
recursively_convert(v, cache),
|
80
|
+
]
|
81
|
+
end
|
82
|
+
|
83
|
+
result
|
84
|
+
end
|
85
|
+
|
86
|
+
def convert_object(obj, cache)
|
87
|
+
if cache.key?(obj.object_id)
|
88
|
+
raise RecursiveObjectErr, "Recursive object found: #{obj}"
|
89
|
+
end
|
90
|
+
|
91
|
+
cache[obj.object_id] = true
|
92
|
+
result = []
|
93
|
+
|
94
|
+
obj.instance_variables.each do |var|
|
95
|
+
result << [
|
96
|
+
recursively_convert(var, cache),
|
97
|
+
recursively_convert(obj.instance_variable_get(var), cache),
|
98
|
+
]
|
99
|
+
end
|
100
|
+
|
101
|
+
result
|
102
|
+
end
|
103
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class ReeObject::LoadJsonDump
|
4
|
+
include Ree::FnDSL
|
5
|
+
|
6
|
+
fn :load_json_dump
|
7
|
+
|
8
|
+
ARRAY = 'array'
|
9
|
+
HASH = 'hash'
|
10
|
+
PRIMITIVE = 'primitive'
|
11
|
+
OBJECT = 'object'
|
12
|
+
|
13
|
+
contract(Hash => Any)
|
14
|
+
def call(dump)
|
15
|
+
recursively_load(dump)
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def recursively_load(dump)
|
21
|
+
case dump['type']
|
22
|
+
when ARRAY
|
23
|
+
dump['value'].map { recursively_load(_1)}
|
24
|
+
when HASH
|
25
|
+
result = {}
|
26
|
+
|
27
|
+
dump['value'].map do |v|
|
28
|
+
result[recursively_load(v[0])] = recursively_load(v[1])
|
29
|
+
end
|
30
|
+
|
31
|
+
result
|
32
|
+
when PRIMITIVE
|
33
|
+
load_primitive(dump['class'], dump['value'])
|
34
|
+
when OBJECT
|
35
|
+
load_object(dump['class'], dump['value'])
|
36
|
+
else
|
37
|
+
raise NotImplementedError, "unsupported type provider '#{dump['type']}'"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
private
|
42
|
+
|
43
|
+
def load_primitive(class_str, val)
|
44
|
+
if class_str == 'Class' || class_str == 'Module'
|
45
|
+
return Object.const_get(val)
|
46
|
+
end
|
47
|
+
|
48
|
+
klass = Object.const_get(class_str)
|
49
|
+
|
50
|
+
if klass == Symbol
|
51
|
+
val.to_sym
|
52
|
+
elsif klass == Date
|
53
|
+
Date.parse(val)
|
54
|
+
elsif klass == Time
|
55
|
+
Time.parse(val)
|
56
|
+
elsif klass == DateTime
|
57
|
+
DateTime.parse(val)
|
58
|
+
elsif klass == Module || klass == Class
|
59
|
+
klass
|
60
|
+
else
|
61
|
+
val
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def load_object(class_str, val)
|
66
|
+
klass = Object.const_get(class_str)
|
67
|
+
obj = klass.allocate
|
68
|
+
|
69
|
+
val.each do |v|
|
70
|
+
var = recursively_load(v[0])
|
71
|
+
value = recursively_load(v[1])
|
72
|
+
obj.instance_variable_set(var, value)
|
73
|
+
end
|
74
|
+
|
75
|
+
obj
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
{
|
2
|
+
"schema_type": "object",
|
3
|
+
"schema_version": "1.0",
|
4
|
+
"name": "dump_as_json",
|
5
|
+
"path": "packages/ree_object/package/ree_object/functions/dump_as_json.rb",
|
6
|
+
"mount_as": "fn",
|
7
|
+
"class": "ReeObject::DumpAsJson",
|
8
|
+
"factory": null,
|
9
|
+
"methods": [
|
10
|
+
{
|
11
|
+
"doc": "",
|
12
|
+
"throws": [
|
13
|
+
"ReeObject::DumpAsJson::RecursiveObjectErr"
|
14
|
+
],
|
15
|
+
"return": "Or[Hash, ArrayOf[Any], Date, Time, Numeric, String, FalseClass, TrueClass, NilClass, Symbol, Module, Class]",
|
16
|
+
"args": [
|
17
|
+
{
|
18
|
+
"arg": "obj",
|
19
|
+
"type": "Any"
|
20
|
+
}
|
21
|
+
]
|
22
|
+
}
|
23
|
+
],
|
24
|
+
"links": [
|
25
|
+
|
26
|
+
]
|
27
|
+
}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
{
|
2
|
+
"schema_type": "object",
|
3
|
+
"schema_version": "1.0",
|
4
|
+
"name": "load_json_dump",
|
5
|
+
"path": "packages/ree_object/package/ree_object/functions/load_json_dump.rb",
|
6
|
+
"mount_as": "fn",
|
7
|
+
"class": "ReeObject::LoadJsonDump",
|
8
|
+
"factory": null,
|
9
|
+
"methods": [
|
10
|
+
{
|
11
|
+
"doc": "",
|
12
|
+
"throws": [
|
13
|
+
|
14
|
+
],
|
15
|
+
"return": "Any",
|
16
|
+
"args": [
|
17
|
+
{
|
18
|
+
"arg": "dump",
|
19
|
+
"type": "Hash"
|
20
|
+
}
|
21
|
+
]
|
22
|
+
}
|
23
|
+
],
|
24
|
+
"links": [
|
25
|
+
|
26
|
+
]
|
27
|
+
}
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# frozen_string_literal = true
|
2
|
+
|
3
|
+
RSpec.describe :dump_as_json do
|
4
|
+
link :dump_as_json, from: :ree_object
|
5
|
+
link :load_json_dump, from: :ree_object
|
6
|
+
|
7
|
+
let(:klass) {
|
8
|
+
class TestObjCLass
|
9
|
+
attr_reader :integer, :string, :array, :hash, :object, :klass, :module
|
10
|
+
|
11
|
+
def initialize
|
12
|
+
@integer = 1
|
13
|
+
@string = 'string'
|
14
|
+
@array = [1, 'string', 3, { 'name' => 'John'}]
|
15
|
+
|
16
|
+
@hash = {
|
17
|
+
id: 1,
|
18
|
+
'test' => 2,
|
19
|
+
nested: {
|
20
|
+
some_value: 1,
|
21
|
+
another_value: 2
|
22
|
+
},
|
23
|
+
name: 'name'
|
24
|
+
}
|
25
|
+
|
26
|
+
@object = Object.new
|
27
|
+
@klass = Object
|
28
|
+
@module = Module
|
29
|
+
|
30
|
+
@object.instance_exec do
|
31
|
+
@name = 'John'
|
32
|
+
@last_name = 'Doe'
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
TestObjCLass
|
38
|
+
}
|
39
|
+
|
40
|
+
context "object" do
|
41
|
+
it {
|
42
|
+
orig_obj = klass.new
|
43
|
+
result = dump_as_json([orig_obj])
|
44
|
+
obj = load_json_dump(result).first
|
45
|
+
|
46
|
+
expect(obj.integer).to eq(orig_obj.integer)
|
47
|
+
expect(obj.string).to eq(orig_obj.string)
|
48
|
+
expect(obj.array).to eq(orig_obj.array)
|
49
|
+
expect(obj.hash).to eq(orig_obj.hash)
|
50
|
+
expect(obj.klass).to eq(orig_obj.klass)
|
51
|
+
expect(obj.module).to eq(orig_obj.module)
|
52
|
+
expect(obj.object.instance_variable_get(:@name)).to eq(orig_obj.object.instance_variable_get(:@name))
|
53
|
+
expect(obj.object.instance_variable_get(:@last_name)).to eq(orig_obj.object.instance_variable_get(:@last_name))
|
54
|
+
}
|
55
|
+
end
|
56
|
+
end
|
data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/functions/build_endpoint_schema.rb
CHANGED
@@ -112,6 +112,7 @@ class ReeSwagger::BuildEndpointSchema
|
|
112
112
|
|
113
113
|
method_schema[:parameters] = parameters if parameters
|
114
114
|
method_schema[:requestBody] = request_body if request_body
|
115
|
+
method_schema[:security] = [{ ApiKeyAuth: [] }] if endpoint.authenticate
|
115
116
|
|
116
117
|
schema = {endpoint.method => method_schema}
|
117
118
|
|
data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/functions/build_request_body_schema.rb
CHANGED
@@ -38,10 +38,11 @@ class ReeSwagger::BuildRequestBodySchema
|
|
38
38
|
|
39
39
|
return if properties.empty?
|
40
40
|
|
41
|
-
{
|
41
|
+
obj = {
|
42
42
|
type: 'object',
|
43
43
|
properties: properties,
|
44
|
-
required: required_fields
|
45
44
|
}
|
45
|
+
obj[:required] = required_fields if required_fields.size != 0
|
46
|
+
obj
|
46
47
|
end
|
47
48
|
end
|
@@ -8,8 +8,8 @@ class ReeSwagger::BuildSchema
|
|
8
8
|
link 'ree_swagger/dto/endpoint_dto', -> { EndpointDto }
|
9
9
|
end
|
10
10
|
|
11
|
-
contract(String, String, String, ArrayOf[EndpointDto] => Hash)
|
12
|
-
def call(title:, description:, version:, endpoints:)
|
11
|
+
contract(String, String, String, String, ArrayOf[EndpointDto] => Hash)
|
12
|
+
def call(title:, description:, version:, api_url:, endpoints:)
|
13
13
|
{
|
14
14
|
openapi: "3.0.0",
|
15
15
|
info: {
|
@@ -17,6 +17,16 @@ class ReeSwagger::BuildSchema
|
|
17
17
|
description: description,
|
18
18
|
version: version
|
19
19
|
},
|
20
|
+
components: {
|
21
|
+
securitySchemes: {
|
22
|
+
ApiKeyAuth: {
|
23
|
+
type: 'apiKey',
|
24
|
+
in: 'header',
|
25
|
+
name: 'Authorization'
|
26
|
+
}
|
27
|
+
}
|
28
|
+
},
|
29
|
+
servers: [{ url: api_url }],
|
20
30
|
paths: endpoints.each_with_object(Hash.new { _1[_2] = {} }) {
|
21
31
|
path_dto = build_endpoint_schema(_1)
|
22
32
|
_2[path_dto.path].merge!(path_dto.schema)
|
@@ -71,6 +71,7 @@ RSpec.describe :build_endpoint_schema do
|
|
71
71
|
schema = build_endpoint_schema(ReeSwagger::EndpointDto.new(
|
72
72
|
method: :post,
|
73
73
|
respond_to: :json,
|
74
|
+
authenticate: false,
|
74
75
|
path: '/versions/:id',
|
75
76
|
sections: ["versions"],
|
76
77
|
caster: caster,
|
@@ -97,6 +98,7 @@ RSpec.describe :build_endpoint_schema do
|
|
97
98
|
csv_schema = build_endpoint_schema(ReeSwagger::EndpointDto.new(
|
98
99
|
method: :get,
|
99
100
|
respond_to: :csv,
|
101
|
+
authenticate: false,
|
100
102
|
path: '/files/:id',
|
101
103
|
sections: ["files"],
|
102
104
|
caster: file_caster,
|
@@ -226,6 +228,7 @@ RSpec.describe :build_endpoint_schema do
|
|
226
228
|
path: '/versions/:id',
|
227
229
|
caster: caster,
|
228
230
|
respond_to: :json,
|
231
|
+
authenticate: false,
|
229
232
|
serializer: nil,
|
230
233
|
response_status: 200,
|
231
234
|
description: nil,
|
@@ -288,6 +291,7 @@ RSpec.describe :build_endpoint_schema do
|
|
288
291
|
method: :get,
|
289
292
|
path: '/versions/:id',
|
290
293
|
respond_to: :json,
|
294
|
+
authenticate: false,
|
291
295
|
caster: nil,
|
292
296
|
serializer: nil,
|
293
297
|
response_status: 200,
|
@@ -311,6 +315,7 @@ RSpec.describe :build_endpoint_schema do
|
|
311
315
|
method: :get,
|
312
316
|
path: '/versions/:id',
|
313
317
|
respond_to: :json,
|
318
|
+
authenticate: false,
|
314
319
|
caster: caster,
|
315
320
|
serializer: nil,
|
316
321
|
response_status: 200,
|
@@ -6,8 +6,10 @@ RSpec.describe :build_schema do
|
|
6
6
|
title: 'Sample API',
|
7
7
|
description: 'Sample API description',
|
8
8
|
version: '0.0.1',
|
9
|
+
api_url: 'https://some-api.com/api/v1',
|
9
10
|
endpoints: [ReeSwagger::EndpointDto.new(
|
10
11
|
method: :get,
|
12
|
+
authenticate: true,
|
11
13
|
path: '/version',
|
12
14
|
respond_to: :json,
|
13
15
|
caster: nil,
|
@@ -27,9 +29,24 @@ RSpec.describe :build_schema do
|
|
27
29
|
description: 'Sample API description',
|
28
30
|
version: '0.0.1'
|
29
31
|
},
|
32
|
+
components: {
|
33
|
+
securitySchemes: {
|
34
|
+
ApiKeyAuth: {
|
35
|
+
in: "header",
|
36
|
+
name: "Authorization",
|
37
|
+
type: "apiKey",
|
38
|
+
}
|
39
|
+
}
|
40
|
+
},
|
41
|
+
servers: [
|
42
|
+
{ url: 'https://some-api.com/api/v1' }
|
43
|
+
],
|
30
44
|
paths: {
|
31
45
|
'/version' => {
|
32
46
|
get: {
|
47
|
+
security: [
|
48
|
+
{ApiKeyAuth: []}
|
49
|
+
],
|
33
50
|
responses: {
|
34
51
|
200 => {
|
35
52
|
description: ''
|
data/lib/ree_lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ree_lib
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ruslan Gatiyatov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-08-
|
11
|
+
date: 2022-08-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ree
|
@@ -1035,13 +1035,17 @@ files:
|
|
1035
1035
|
- lib/ree_lib/packages/ree_object/package/ree_object/functions/as_json.rb
|
1036
1036
|
- lib/ree_lib/packages/ree_object/package/ree_object/functions/deep_dup.rb
|
1037
1037
|
- lib/ree_lib/packages/ree_object/package/ree_object/functions/deep_freeze.rb
|
1038
|
+
- lib/ree_lib/packages/ree_object/package/ree_object/functions/dump_as_json.rb
|
1038
1039
|
- lib/ree_lib/packages/ree_object/package/ree_object/functions/is_blank.rb
|
1040
|
+
- lib/ree_lib/packages/ree_object/package/ree_object/functions/load_json_dump.rb
|
1039
1041
|
- lib/ree_lib/packages/ree_object/package/ree_object/functions/not_blank.rb
|
1040
1042
|
- lib/ree_lib/packages/ree_object/package/ree_object/functions/to_obj.rb
|
1041
1043
|
- lib/ree_lib/packages/ree_object/schemas/ree_object/functions/as_json.schema.json
|
1042
1044
|
- lib/ree_lib/packages/ree_object/schemas/ree_object/functions/deep_dup.schema.json
|
1043
1045
|
- lib/ree_lib/packages/ree_object/schemas/ree_object/functions/deep_freeze.schema.json
|
1046
|
+
- lib/ree_lib/packages/ree_object/schemas/ree_object/functions/dump_as_json.schema.json
|
1044
1047
|
- lib/ree_lib/packages/ree_object/schemas/ree_object/functions/is_blank.schema.json
|
1048
|
+
- lib/ree_lib/packages/ree_object/schemas/ree_object/functions/load_json_dump.schema.json
|
1045
1049
|
- lib/ree_lib/packages/ree_object/schemas/ree_object/functions/not_blank.schema.json
|
1046
1050
|
- lib/ree_lib/packages/ree_object/schemas/ree_object/functions/to_hash.schema.json
|
1047
1051
|
- lib/ree_lib/packages/ree_object/schemas/ree_object/functions/to_obj.schema.json
|
@@ -1049,6 +1053,7 @@ files:
|
|
1049
1053
|
- lib/ree_lib/packages/ree_object/spec/ree_object/functions/as_json_spec.rb
|
1050
1054
|
- lib/ree_lib/packages/ree_object/spec/ree_object/functions/deep_dup_spec.rb
|
1051
1055
|
- lib/ree_lib/packages/ree_object/spec/ree_object/functions/deep_freeze_spec.rb
|
1056
|
+
- lib/ree_lib/packages/ree_object/spec/ree_object/functions/dump_as_json_spec.rb
|
1052
1057
|
- lib/ree_lib/packages/ree_object/spec/ree_object/functions/is_blank_spec.rb
|
1053
1058
|
- lib/ree_lib/packages/ree_object/spec/ree_object/functions/not_blank_spec.rb
|
1054
1059
|
- lib/ree_lib/packages/ree_object/spec/ree_object/functions/to_obj_spec.rb
|