emerald_odm 1.3.1 → 1.3.3

Sign up to get free protection for your applications and to get access to all the features.
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