firm 1.1.2 → 1.2.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/lib/firm/serialize/core.rb +0 -5
- data/lib/firm/serializer/json.rb +14 -9
- data/lib/firm/serializer/xml.rb +7 -4
- data/lib/firm/serializer/yaml.rb +7 -4
- data/lib/firm/version.rb +1 -1
- metadata +4 -53
- data/tests/serializer_tests.rb +0 -1208
- data/tests/test_serialize.rb +0 -8
- data/tests/test_serialize_xml.rb +0 -22
- data/tests/test_serialize_yaml.rb +0 -18
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 469e6b9c969363f1a02dec82461e0d7f176c6dcb179c69e5d3e49028850ede2f
|
|
4
|
+
data.tar.gz: c289d16555c8e499ee83045042095b89f038122a9033aa0f74d82d42ccaeefdb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d949b1da43a928fc2e36ea058cde3b040e3b8e10e8a0ed8d9d3ad2de3053535e5b8616f0e1792c8a7e6d6285573298d2f352b4fc90126b4f2fc85d80258f9fce
|
|
7
|
+
data.tar.gz: ecb380c724b12eb9dc93a6abb368ad41aeaf6f554a46472f026aa39226dd2d2c8527b351ae628721763a09898ea0ffc38a37853fab45b8efeae1ac6dc341b964
|
data/lib/firm/serialize/core.rb
CHANGED
|
@@ -32,11 +32,6 @@ module FIRM
|
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
require 'set'
|
|
35
|
-
# from Ruby 3.5.0 OpenStruct will not be available by default anymore
|
|
36
|
-
begin
|
|
37
|
-
require 'ostruct'
|
|
38
|
-
rescue LoadError
|
|
39
|
-
end
|
|
40
35
|
|
|
41
36
|
[::Array, ::Hash, ::Struct, ::Range, ::Rational, ::Complex, ::Regexp, ::Set, ::Time, ::Date, ::DateTime].each do |c|
|
|
42
37
|
c.include FIRM::Serializable::CoreExt
|
data/lib/firm/serializer/json.rb
CHANGED
|
@@ -14,11 +14,14 @@ require 'json/add/bigdecimal' if ::Object.const_defined?(:BigDecimal)
|
|
|
14
14
|
require 'json/add/rational'
|
|
15
15
|
require 'json/add/complex'
|
|
16
16
|
require 'json/add/set'
|
|
17
|
-
# from Ruby 3.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
# from Ruby 3.4.0 OpenStruct will not be available by default anymore
|
|
18
|
+
if defined? RUBY_VERSION and RUBY_VERSION < '3.4.0'
|
|
19
|
+
begin
|
|
20
|
+
require 'ostruct'
|
|
21
|
+
require 'json/add/ostruct'
|
|
22
|
+
rescue LoadError
|
|
23
|
+
#
|
|
24
|
+
end
|
|
22
25
|
end
|
|
23
26
|
|
|
24
27
|
module FIRM
|
|
@@ -29,9 +32,10 @@ module FIRM
|
|
|
29
32
|
|
|
30
33
|
CREATE_ID = 'rbklass'.freeze
|
|
31
34
|
|
|
32
|
-
#
|
|
35
|
+
# Hash class mixin to use for deserialized JSON object data which
|
|
33
36
|
# supports using Symbol keys.
|
|
34
|
-
|
|
37
|
+
module ObjectHashPatch
|
|
38
|
+
|
|
35
39
|
# Returns the object associated with given key.
|
|
36
40
|
# @param [String,Symbol] key key value
|
|
37
41
|
# @return [Object] associated object
|
|
@@ -49,6 +53,7 @@ module FIRM
|
|
|
49
53
|
alias member? include?
|
|
50
54
|
alias has_key? include?
|
|
51
55
|
alias key? include?
|
|
56
|
+
|
|
52
57
|
end
|
|
53
58
|
|
|
54
59
|
module ContainerPatch
|
|
@@ -192,8 +197,7 @@ module FIRM
|
|
|
192
197
|
# set custom (more compact) create_id
|
|
193
198
|
::JSON.create_id = Serializable::JSON::CREATE_ID
|
|
194
199
|
::JSON.parse!(source,
|
|
195
|
-
create_additions: true
|
|
196
|
-
object_class: Serializable::JSON::ObjectHash)
|
|
200
|
+
create_additions: true)
|
|
197
201
|
ensure
|
|
198
202
|
# reset safe deserializing
|
|
199
203
|
self.end_safe_deserialize
|
|
@@ -208,6 +212,7 @@ module FIRM
|
|
|
208
212
|
|
|
209
213
|
def json_create(object)
|
|
210
214
|
data = object['data']
|
|
215
|
+
data.extend(Serializable::JSON::ObjectHashPatch)
|
|
211
216
|
# deserializing (anchor) object or alias
|
|
212
217
|
if object.has_key?('*id')
|
|
213
218
|
if Serializable::Aliasing.restored?(self, object['*id'])
|
data/lib/firm/serializer/xml.rb
CHANGED
|
@@ -3,10 +3,13 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
require 'set'
|
|
6
|
-
# from Ruby 3.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
# from Ruby 3.4.0 OpenStruct will not be available by default anymore
|
|
7
|
+
if defined? RUBY_VERSION and RUBY_VERSION < '3.4.0'
|
|
8
|
+
begin
|
|
9
|
+
require 'ostruct'
|
|
10
|
+
rescue LoadError
|
|
11
|
+
#
|
|
12
|
+
end
|
|
10
13
|
end
|
|
11
14
|
require 'date'
|
|
12
15
|
|
data/lib/firm/serializer/yaml.rb
CHANGED
|
@@ -5,10 +5,13 @@
|
|
|
5
5
|
require 'yaml'
|
|
6
6
|
require 'date'
|
|
7
7
|
require 'set'
|
|
8
|
-
# from Ruby 3.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
# from Ruby 3.4.0 OpenStruct will not be available by default anymore
|
|
9
|
+
if defined? RUBY_VERSION and RUBY_VERSION < '3.4.0'
|
|
10
|
+
begin
|
|
11
|
+
require 'ostruct'
|
|
12
|
+
rescue LoadError
|
|
13
|
+
#
|
|
14
|
+
end
|
|
12
15
|
end
|
|
13
16
|
|
|
14
17
|
module FIRM
|
data/lib/firm/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,57 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: firm
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Martin Corino
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
12
|
-
dependencies:
|
|
13
|
-
- !ruby/object:Gem::Dependency
|
|
14
|
-
name: rake
|
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
|
16
|
-
requirements:
|
|
17
|
-
- - ">="
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0'
|
|
20
|
-
type: :runtime
|
|
21
|
-
prerelease: false
|
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
-
requirements:
|
|
24
|
-
- - ">="
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: '0'
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: minitest
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - "~>"
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: '5.15'
|
|
34
|
-
type: :runtime
|
|
35
|
-
prerelease: false
|
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
-
requirements:
|
|
38
|
-
- - "~>"
|
|
39
|
-
- !ruby/object:Gem::Version
|
|
40
|
-
version: '5.15'
|
|
41
|
-
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: test-unit
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - "~>"
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '3.5'
|
|
48
|
-
type: :runtime
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - "~>"
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '3.5'
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies: []
|
|
55
12
|
description: FIRM is a pure Ruby library providing format independent object marshalling
|
|
56
13
|
email: mcorino@m2c-software.nl
|
|
57
14
|
executables: []
|
|
@@ -76,10 +33,6 @@ files:
|
|
|
76
33
|
- rakelib/yard/yard-relative_markdown_links.rb
|
|
77
34
|
- rakelib/yard/yard/relative_markdown_links.rb
|
|
78
35
|
- rakelib/yard/yard/relative_markdown_links/version.rb
|
|
79
|
-
- tests/serializer_tests.rb
|
|
80
|
-
- tests/test_serialize.rb
|
|
81
|
-
- tests/test_serialize_xml.rb
|
|
82
|
-
- tests/test_serialize_yaml.rb
|
|
83
36
|
homepage: https://github.com/mcorino/firm
|
|
84
37
|
licenses:
|
|
85
38
|
- MIT
|
|
@@ -88,7 +41,6 @@ metadata:
|
|
|
88
41
|
source_code_uri: https://github.com/mcorino/firm
|
|
89
42
|
documentation_uri: https://mcorino.github.io/firm
|
|
90
43
|
homepage_uri: https://github.com/mcorino/firm
|
|
91
|
-
post_install_message:
|
|
92
44
|
rdoc_options: []
|
|
93
45
|
require_paths:
|
|
94
46
|
- lib
|
|
@@ -103,8 +55,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
103
55
|
- !ruby/object:Gem::Version
|
|
104
56
|
version: '0'
|
|
105
57
|
requirements: []
|
|
106
|
-
rubygems_version:
|
|
107
|
-
signing_key:
|
|
58
|
+
rubygems_version: 4.0.3
|
|
108
59
|
specification_version: 4
|
|
109
60
|
summary: Format independent Ruby object marshalling
|
|
110
61
|
test_files: []
|