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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 58be3d671b46d8703d0308a6921e515a6b68e38da855a766c25bc01c9435c4c4
4
- data.tar.gz: 8d6aa735ce20df9d627408d79d527774bd9dab8b40df5c6477053a4503b15c3d
3
+ metadata.gz: 206b19f62b40ea1b963823f053a46f8bfeeaed3e18ab9a1938c257e758f3804c
4
+ data.tar.gz: 402c5a275a1f7edf3a293e0b0b247f33a39c4068b849188ab23a90a1afa32b2f
5
5
  SHA512:
6
- metadata.gz: 380ad74efa2cdd7eeca559c3a1fcd66fa3546b2abfa3812d4ea6e82621d90c73bc019551506a4b5aae6a01a8ef8fb3e8b6381cb8213bb450e289b2487eddf440
7
- data.tar.gz: 01047b0d65a1c6067c24d967f6b300bbda7b7550915da8c96138da875ea23919caad7f59e596a7aa1fed9d02c1c1a98aedb8f55acddc9ddeebc7f03e2c8a5243
6
+ metadata.gz: dc1fef7506971f57b64735babcedf3ffb8cd9eb15e4bf785125dfb4df440b2fc025bad229fe121801b00dcf9f18cab313d52aa614388add4590152eb760808f6
7
+ data.tar.gz: 24875e034d9225cce05ca9c5745dc5562379dffe95d7ebf12f884a8c5db898698f5efaa081cf016d7a7773d551285a01af7e910d2c6131da50dfb0b718927798
@@ -1,3 +1,3 @@
1
1
  module EmeraldODM
2
- VERSION = '1.3.1'
2
+ VERSION = '1.3.3'
3
3
  end
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) unless document_value.nil?
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
- document.nil? || document.empty?
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 = document.keys - known_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 = document[field]
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.1
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-02-03 00:00:00.000000000 Z
11
+ date: 2023-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler