emerald_odm 1.3.2 → 1.3.4

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: a866f6760fe767625d76410878bf70a9ecefc6b9e345b3f6cad8a86892beb01f
4
- data.tar.gz: 293adf1cfdaceac75d774c40d1d0e3586cda397346eeb0571846a26c8514a358
3
+ metadata.gz: 5d8fbc1f58f7154bc258f608801426e08c42f682c6b2cb8a77739c31b475158c
4
+ data.tar.gz: 795c8c7ccc359bd99e3eeda78fceb654c95d5841b92c56ba0923c5c31b4ceb27
5
5
  SHA512:
6
- metadata.gz: 32bed49336b82fcd5726f5b455482338aad1929a104c256df817ad9f7976441ad762c94e3a68d8eb9d2eed5ecb2029e9d53449b01b690dd8e885443ac5b9b6c8
7
- data.tar.gz: 7e3747ef67e4555fc3f94dde7878c286afed907428b497b45cd5866a5b06e6da0dbbc2812ed295cd53a40fb696e2aa29923072e4306501f6f7ef85d6015efef0
6
+ metadata.gz: 3ee159cf66d3acda85c941305033d715adc26958093dfce0fc8fa03216e7296557a20e60e3da346d2a0b4237396ee1a089e0d1e22a2d5cae3f3593386ce8703a
7
+ data.tar.gz: bfda155e4712b9be85d39e386fa818c33d4ac58747cae773672f161f385f745749e9f3cf63178cf116ded8dc5bfebf122565cb008a51bdb0a5d6ada47cf31cb5
@@ -1,3 +1,3 @@
1
1
  module EmeraldODM
2
- VERSION = '1.3.2'
2
+ VERSION = '1.3.4'
3
3
  end
data/lib/emerald_odm.rb CHANGED
@@ -27,10 +27,16 @@ 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
+ if document.instance_of?(Hash)
33
+ document = BSON::Document.new(document)
34
+ elsif document.nil?
35
+ document = BSON::Document.new
36
+ end
31
37
  self.class.fields.each do |field|
32
38
  document_value = document[field]
33
- send("#{field}=", document_value) unless document_value.nil?
39
+ send("#{field}=", document_value)
34
40
  end
35
41
  instance_variable_set('@_document', document)
36
42
  end
@@ -52,6 +58,10 @@ module EmeraldODM
52
58
  _document.nil? || _document.empty?
53
59
  end
54
60
 
61
+ def empty?
62
+ _document.nil? || _document.empty?
63
+ end
64
+
55
65
  def self.array_to_h(array)
56
66
  array.map do |item|
57
67
  if item.is_a?(AttrInitializer)
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.2
4
+ version: 1.3.4
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-04 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
@@ -144,8 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
146
  requirements: []
147
- rubyforge_project:
148
- rubygems_version: 2.7.7
147
+ rubygems_version: 3.4.1
149
148
  signing_key:
150
149
  specification_version: 4
151
150
  summary: MongoDB ODM