emerald_odm 1.3.1 → 1.3.3
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/emerald_odm/version.rb +1 -1
- data/lib/emerald_odm.rb +6 -4
- 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: 206b19f62b40ea1b963823f053a46f8bfeeaed3e18ab9a1938c257e758f3804c
|
4
|
+
data.tar.gz: 402c5a275a1f7edf3a293e0b0b247f33a39c4068b849188ab23a90a1afa32b2f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dc1fef7506971f57b64735babcedf3ffb8cd9eb15e4bf785125dfb4df440b2fc025bad229fe121801b00dcf9f18cab313d52aa614388add4590152eb760808f6
|
7
|
+
data.tar.gz: 24875e034d9225cce05ca9c5745dc5562379dffe95d7ebf12f884a8c5db898698f5efaa081cf016d7a7773d551285a01af7e910d2c6131da50dfb0b718927798
|
data/lib/emerald_odm/version.rb
CHANGED
data/lib/emerald_odm.rb
CHANGED
@@ -27,10 +27,12 @@ module EmeraldODM
|
|
27
27
|
class AttrInitializer
|
28
28
|
attr_reader :_document
|
29
29
|
|
30
|
+
# @param [Hash, BSON::Document] document The document to be used to initialize the object
|
30
31
|
def initialize(document)
|
32
|
+
document = BSON::Document.new(document) if document.is_a?(Hash)
|
31
33
|
self.class.fields.each do |field|
|
32
34
|
document_value = document[field]
|
33
|
-
send("#{field}=", document_value)
|
35
|
+
send("#{field}=", document_value)
|
34
36
|
end
|
35
37
|
instance_variable_set('@_document', document)
|
36
38
|
end
|
@@ -49,7 +51,7 @@ module EmeraldODM
|
|
49
51
|
end
|
50
52
|
|
51
53
|
def nil?
|
52
|
-
|
54
|
+
_document.nil? || _document.empty?
|
53
55
|
end
|
54
56
|
|
55
57
|
def self.array_to_h(array)
|
@@ -67,7 +69,7 @@ module EmeraldODM
|
|
67
69
|
def to_h
|
68
70
|
hash = {}
|
69
71
|
known_fields = self.class.fields
|
70
|
-
unknown_fields =
|
72
|
+
unknown_fields = _document.keys - known_fields
|
71
73
|
unknown_fields.reject! { |field| field.start_with?('_') }
|
72
74
|
known_fields.each do |field|
|
73
75
|
value = send(field)
|
@@ -80,7 +82,7 @@ module EmeraldODM
|
|
80
82
|
end
|
81
83
|
end
|
82
84
|
unknown_fields.each do |field|
|
83
|
-
value =
|
85
|
+
value = _document[field]
|
84
86
|
hash[field] = value
|
85
87
|
end
|
86
88
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: emerald_odm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mikael
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|