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