tiny_dyno 0.1.21 → 0.1.22
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/CHANGES.md +6 -0
- data/lib/tiny_dyno/adapter/attributes.rb +4 -7
- data/lib/tiny_dyno/document.rb +0 -1
- data/lib/tiny_dyno/persistable.rb +1 -0
- data/lib/tiny_dyno/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0eeaba04a85bbf554f20bb8193bcc4a6701ff2ce
|
4
|
+
data.tar.gz: 52468e676a52ae2a190df1d84355bd04f47c4011
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e6bd51cf221620d0efcd57de2989c8fd92bfe11f4609d3214cc8a5df29a2d6e1f5dfd10c180e602a3238df4c317d92d31dfd3354e19119e737aeb39de8f730cb
|
7
|
+
data.tar.gz: c7e5d45da48fb83ac6344d57e4d24708321fa4a2a022fb100b155aa22821fed82669501d615dd17114b33bf389efdcb59096235ac91a7eea4a65b8e2adb005a8
|
data/CHANGES.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
0.1.22 (2015-09-09)
|
2
|
+
-------------------
|
3
|
+
|
4
|
+
* Fix/New - Check document validity before storing the document
|
5
|
+
* Change - permit storing nil values on boolean fields, fields need to be able to be nil on creation (in the current implementation), thus permit nil as value even on a boolean field
|
6
|
+
|
1
7
|
0.1.21 (2015-09-09)
|
2
8
|
-------------------
|
3
9
|
|
@@ -30,6 +30,7 @@ module TinyDyno
|
|
30
30
|
class Marshaler
|
31
31
|
|
32
32
|
def format(type: 'auto', obj:)
|
33
|
+
return { null: true } if obj.nil?
|
33
34
|
type = obj.class.to_s if type == 'auto'
|
34
35
|
case type.to_s
|
35
36
|
when 'Hash'
|
@@ -40,12 +41,7 @@ module TinyDyno
|
|
40
41
|
obj.each.with_object(l:[]) do |value, list|
|
41
42
|
list[:l] << format(type: value.class, obj: value)
|
42
43
|
end
|
43
|
-
when 'String'
|
44
|
-
if obj.nil?
|
45
|
-
{ null: true }
|
46
|
-
else
|
47
|
-
{ s: obj }
|
48
|
-
end
|
44
|
+
when 'String' then { s: obj }
|
49
45
|
when 'Symbol' then { s: obj.to_s }
|
50
46
|
when 'Numeric', 'Fixnum', 'Float', 'Integer'
|
51
47
|
if obj.to_i != 0 and obj != '0'
|
@@ -55,7 +51,7 @@ module TinyDyno
|
|
55
51
|
elsif obj.is_a?(Integer)
|
56
52
|
{ n: obj.to_s }
|
57
53
|
elsif obj.nil?
|
58
|
-
{
|
54
|
+
{ null: true }
|
59
55
|
else
|
60
56
|
raise TinyDyno::Errors::InvalidValueType.new(klass: self.class, name: type, value: obj)
|
61
57
|
end
|
@@ -142,6 +138,7 @@ module TinyDyno
|
|
142
138
|
end
|
143
139
|
|
144
140
|
def doc_attribute(value)
|
141
|
+
return nil if value.nil?
|
145
142
|
av = TinyDyno::Adapter::AttributeValue.new
|
146
143
|
av.unmarshal(value)
|
147
144
|
end
|
data/lib/tiny_dyno/document.rb
CHANGED
data/lib/tiny_dyno/version.rb
CHANGED