emerald_odm 1.3.2 → 1.3.4

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: 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