ree_lib 1.0.65 → 1.0.67
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +3 -3
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/functions/build_connection.rb +1 -1
- data/lib/ree_lib/packages/ree_http/package/ree_http/constants.rb +2 -2
- data/lib/ree_lib/packages/ree_http/package/ree_http/functions/build_request.rb +2 -2
- data/lib/ree_lib/packages/ree_http/package/ree_http/functions/build_request_executor.rb +2 -2
- data/lib/ree_lib/packages/ree_json/package/ree_json/constants.rb +5 -4
- data/lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb +6 -11
- data/lib/ree_lib/packages/ree_json/package/ree_json/functions/to_json.rb +4 -9
- data/lib/ree_lib/packages/ree_json/schemas/ree_json/functions/from_json.schema.json +2 -7
- data/lib/ree_lib/packages/ree_json/schemas/ree_json/functions/to_json.schema.json +3 -7
- data/lib/ree_lib/packages/ree_json/spec/ree_json/functions/from_json_spec.rb +32 -0
- data/lib/ree_lib/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: adfdcee3c81364ab7af1c22fb56bd6b2d2f823b78f67264effce6b7e2af35852
|
4
|
+
data.tar.gz: 2991aa1e88c979c3b714bbf1da5facc68b52582a84001d43b8e1b304768125fb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e9d848d9321212758be3e7051b408eedef55bcfb3d712e647f598f9e82510ea1b09275e4944fe89e8e83bce4650b36c2f02b59fdfe01e37bf7e8703911102ac3
|
7
|
+
data.tar.gz: 3c62a965cd9c5aeb588b984d3e2b9d93ef80698fe24fc7dafa0595a214443ec5d29e2ba91d7f8a424ee6410f3921dda339eefbeb2a4510c3999bc13532662f5f
|
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.67)
|
5
5
|
binding_of_caller (~> 1.0.0)
|
6
6
|
i18n (~> 1.12.0)
|
7
7
|
loofah (~> 2.18.0)
|
@@ -38,9 +38,9 @@ GEM
|
|
38
38
|
crass (~> 1.0.2)
|
39
39
|
nokogiri (>= 1.5.9)
|
40
40
|
msgpack (1.6.0)
|
41
|
-
nokogiri (1.15.
|
41
|
+
nokogiri (1.15.4-x86_64-darwin)
|
42
42
|
racc (~> 1.4)
|
43
|
-
nokogiri (1.15.
|
43
|
+
nokogiri (1.15.4-x86_64-linux)
|
44
44
|
racc (~> 1.4)
|
45
45
|
oj (3.13.23)
|
46
46
|
pg (1.4.6)
|
@@ -7,7 +7,7 @@ class ReeHttp::BuildRequest
|
|
7
7
|
link :not_blank, from: :ree_object
|
8
8
|
link :to_json, from: :ree_json
|
9
9
|
link 'ree_http/constants', -> {
|
10
|
-
|
10
|
+
HTTPS_STR & HTTP_STR & HTTPS_PORT & HTTP_PORT & DEFAULT_FORCE_SSL
|
11
11
|
}
|
12
12
|
end
|
13
13
|
|
@@ -49,7 +49,7 @@ class ReeHttp::BuildRequest
|
|
49
49
|
opts = DEFAULTS.merge(opts)
|
50
50
|
uri = URI(url)
|
51
51
|
|
52
|
-
uri.scheme = opts[:force_ssl] ?
|
52
|
+
uri.scheme = opts[:force_ssl] ? HTTPS_STR : uri.scheme
|
53
53
|
|
54
54
|
if DEFAULT_PROTOCOL_PORTS.include?(uri.port)
|
55
55
|
uri.port = opts[:force_ssl] ? HTTPS_PORT : uri.port
|
@@ -5,7 +5,7 @@ class ReeHttp::BuildRequestExecutor
|
|
5
5
|
|
6
6
|
fn :build_request_executor do
|
7
7
|
link 'ree_http/constants', -> {
|
8
|
-
|
8
|
+
HTTPS_STR & DEFAULT_TIMEOUT & DEFAULT_WRITE_TIMEOUT & DEFAULT_FORCE_SSL
|
9
9
|
}
|
10
10
|
end
|
11
11
|
|
@@ -47,7 +47,7 @@ class ReeHttp::BuildRequestExecutor
|
|
47
47
|
request_executor.write_timeout = opts[:write_timeout]
|
48
48
|
request_executor.read_timeout = opts[:timeout]
|
49
49
|
|
50
|
-
request_executor.use_ssl = opts[:force_ssl] || uri.scheme ==
|
50
|
+
request_executor.use_ssl = opts[:force_ssl] || uri.scheme == HTTPS_STR
|
51
51
|
|
52
52
|
|
53
53
|
if opts[:ca_certs?]
|
@@ -11,7 +11,7 @@ class ReeJson::Constants
|
|
11
11
|
:object,
|
12
12
|
:custom,
|
13
13
|
:wab,
|
14
|
-
]
|
14
|
+
].freeze
|
15
15
|
|
16
16
|
ESCAPE_MODES = [
|
17
17
|
:newline, # allows unescaped newlines in the output.
|
@@ -19,12 +19,13 @@ class ReeJson::Constants
|
|
19
19
|
:xss_safe, # escapes HTML and XML characters such as & and <.
|
20
20
|
:ascii, # escapes all non-ascii or characters with the hi-bit set.
|
21
21
|
:unicode_xss, # escapes a special unicodes and is xss safe.
|
22
|
-
]
|
22
|
+
].freeze
|
23
23
|
|
24
|
-
TIME_FORMATS = []
|
24
|
+
TIME_FORMATS = [].freeze
|
25
25
|
|
26
26
|
DEFAULT_OPTIONS = {
|
27
27
|
time_format: :xmlschema,
|
28
|
-
use_as_json: true
|
28
|
+
use_as_json: true,
|
29
|
+
mode: :rails,
|
29
30
|
}.freeze
|
30
31
|
end
|
@@ -3,7 +3,7 @@ class ReeJson::FromJson
|
|
3
3
|
|
4
4
|
fn :from_json do
|
5
5
|
link 'ree_json/constants', -> {
|
6
|
-
DEFAULT_OPTIONS & MODES
|
6
|
+
DEFAULT_OPTIONS & MODES & ESCAPE_MODES & TIME_FORMATS
|
7
7
|
}
|
8
8
|
end
|
9
9
|
|
@@ -11,23 +11,18 @@ class ReeJson::FromJson
|
|
11
11
|
|
12
12
|
contract(
|
13
13
|
Any,
|
14
|
-
Kwargs[
|
15
|
-
mode: Or[*MODES]
|
16
|
-
],
|
17
14
|
Ksplat[
|
15
|
+
mode?: Or[*MODES],
|
18
16
|
symbol_keys?: Bool,
|
19
17
|
RestKeys => Any
|
20
|
-
] =>
|
18
|
+
] => Any
|
21
19
|
).throws(ParseJsonError)
|
22
|
-
def call(object,
|
20
|
+
def call(object, **opts)
|
23
21
|
options = DEFAULT_OPTIONS
|
24
|
-
.
|
25
|
-
.merge(
|
26
|
-
opts.merge(mode: mode)
|
27
|
-
)
|
22
|
+
.merge(opts)
|
28
23
|
|
29
24
|
Oj.load(object, options)
|
30
|
-
rescue ArgumentError, EncodingError
|
25
|
+
rescue ArgumentError, EncodingError, TypeError
|
31
26
|
raise ParseJsonError.new
|
32
27
|
end
|
33
28
|
end
|
@@ -18,10 +18,8 @@ class ReeJson::ToJson
|
|
18
18
|
|
19
19
|
contract(
|
20
20
|
Any,
|
21
|
-
Kwargs[
|
22
|
-
mode: Or[*MODES]
|
23
|
-
],
|
24
21
|
Ksplat[
|
22
|
+
mode?: Or[*MODES],
|
25
23
|
escape_mode?: Or[*ESCAPE_MODES],
|
26
24
|
float_precision?: Integer,
|
27
25
|
time_format?: Or[*TIME_FORMATS],
|
@@ -31,13 +29,10 @@ class ReeJson::ToJson
|
|
31
29
|
use_to_json?: Bool,
|
32
30
|
RestKeys => Any
|
33
31
|
] => String
|
34
|
-
|
35
|
-
def call(object,
|
32
|
+
).throws(ArgumentError, TypeError)
|
33
|
+
def call(object, **opts)
|
36
34
|
options = DEFAULT_OPTIONS
|
37
|
-
.
|
38
|
-
.merge(
|
39
|
-
opts.merge(mode: mode)
|
40
|
-
)
|
35
|
+
.merge(opts)
|
41
36
|
|
42
37
|
Oj.dump(object, options)
|
43
38
|
end
|
@@ -12,22 +12,17 @@
|
|
12
12
|
"throws": [
|
13
13
|
"ReeJson::FromJson::ParseJsonError"
|
14
14
|
],
|
15
|
-
"return": "
|
15
|
+
"return": "Any",
|
16
16
|
"args": [
|
17
17
|
{
|
18
18
|
"arg": "object",
|
19
19
|
"arg_type": "req",
|
20
20
|
"type": "Any"
|
21
21
|
},
|
22
|
-
{
|
23
|
-
"arg": "mode",
|
24
|
-
"arg_type": "key",
|
25
|
-
"type": "Or[strict, null, compat, json, rails, object, custom, wab]"
|
26
|
-
},
|
27
22
|
{
|
28
23
|
"arg": "opts",
|
29
24
|
"arg_type": "keyrest",
|
30
|
-
"type": "Ksplat[:symbol_keys? => Bool, \"RestKeys\" => Any]"
|
25
|
+
"type": "Ksplat[:mode? => Or[strict, null, compat, json, rails, object, custom, wab], :symbol_keys? => Bool, \"RestKeys\" => Any]"
|
31
26
|
}
|
32
27
|
]
|
33
28
|
}
|
@@ -10,7 +10,8 @@
|
|
10
10
|
{
|
11
11
|
"doc": "Dumps arbitrary object to json using specific dump mode.\n to_json({id: 1}) # => \"{\"id\":1}\"\n to_json({id: 1}, mode: :object) # => \"{\":id\":{\"^o\":\"Object\"}}\"\n\nList of all available Ksplat options could be found here:\nhttps://github.com/ohler55/oj/blob/develop/pages/Modes.md",
|
12
12
|
"throws": [
|
13
|
-
"ArgumentError"
|
13
|
+
"ArgumentError",
|
14
|
+
"TypeError"
|
14
15
|
],
|
15
16
|
"return": "String",
|
16
17
|
"args": [
|
@@ -19,15 +20,10 @@
|
|
19
20
|
"arg_type": "req",
|
20
21
|
"type": "Any"
|
21
22
|
},
|
22
|
-
{
|
23
|
-
"arg": "mode",
|
24
|
-
"arg_type": "key",
|
25
|
-
"type": "Or[strict, null, compat, json, rails, object, custom, wab]"
|
26
|
-
},
|
27
23
|
{
|
28
24
|
"arg": "opts",
|
29
25
|
"arg_type": "keyrest",
|
30
|
-
"type": "Ksplat[:escape_mode? => Or[newline, json, xss_safe, ascii, unicode_xss...], :float_precision? => Integer, :time_format? => Or[], :use_as_json? => Bool, :use_raw_json? => Bool, :use_to_hash? => Bool, :use_to_json? => Bool, \"RestKeys\" => Any]"
|
26
|
+
"type": "Ksplat[:mode? => Or[strict, null, compat, json, rails, object, custom, wab], :escape_mode? => Or[newline, json, xss_safe, ascii, unicode_xss...], :float_precision? => Integer, :time_format? => Or[], :use_as_json? => Bool, :use_raw_json? => Bool, :use_to_hash? => Bool, :use_to_json? => Bool, \"RestKeys\" => Any]"
|
31
27
|
}
|
32
28
|
]
|
33
29
|
}
|
@@ -12,7 +12,39 @@ RSpec.describe :from_json do
|
|
12
12
|
expect(result[:id]).to be_a(Object)
|
13
13
|
}
|
14
14
|
|
15
|
+
it {
|
16
|
+
expect(from_json("null")).to eq(nil)
|
17
|
+
}
|
18
|
+
|
19
|
+
it {
|
20
|
+
expect(from_json("true")).to eq(true)
|
21
|
+
}
|
22
|
+
|
23
|
+
it {
|
24
|
+
expect(from_json('"hello"')).to eq("hello")
|
25
|
+
}
|
26
|
+
|
27
|
+
it {
|
28
|
+
expect(from_json("123")).to eq(123)
|
29
|
+
}
|
30
|
+
|
31
|
+
it {
|
32
|
+
expect(from_json("123.456")).to eq(123.456)
|
33
|
+
}
|
34
|
+
|
35
|
+
it {
|
36
|
+
expect(from_json("[1,true,\"hello\"]")).to eq([1, true, "hello"])
|
37
|
+
}
|
38
|
+
|
39
|
+
it {
|
40
|
+
expect(from_json("{\"^o\":\"Object\"}", mode: :object)).to be_a(Object)
|
41
|
+
}
|
42
|
+
|
15
43
|
it {
|
16
44
|
expect{from_json("{213: \"123\"}")}.to raise_error(ReeJson::FromJson::ParseJsonError)
|
17
45
|
}
|
46
|
+
|
47
|
+
it {
|
48
|
+
expect { from_json(nil, mode: :strict) }.to raise_error(ReeJson::FromJson::ParseJsonError)
|
49
|
+
}
|
18
50
|
end
|
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.67
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ruslan Gatiyatov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-08-
|
11
|
+
date: 2023-08-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ree
|