acfs 0.24.0.1.b214 → 0.24.0.1.b216
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/acfs/model/attributes/base.rb +5 -1
- data/spec/acfs/model/attributes_spec.rb +11 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
OGE2ZjNhMzYzNDNiNDBhZjdkOGYzNmRjYWY4NDJmMGFhOTIyYjE1Yg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NjNmNDUzOWNhNDQxYjk1OTNmOTc1OGMzZGFkOTRlN2E4ZTE4N2YzOQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NjYxYmZkNzhmNjk2YjAxZDAzNDNlMGRiMDBiMDU5ZjYwMGU4MDgzYWFkYjNk
|
10
|
+
ZTE5NzFmNDAxMGY1NTUzNDRhMGVlYjZiOThjYjRiMmRlOTI3MDg0ZmMyZTBm
|
11
|
+
NzU1YzBlNmU3ZWRiNzZkY2Q4ODI4M2ZlOGJlMGM4ZTQ5ZjIzZjE=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NmFhNDVkNDQ1ZTg3ZmIyMmFiNWQxNjRkM2EyMjM1MzQxNWM2NjI5YzkzYjEy
|
14
|
+
ZDZmYTU3Nzg0NDRhNWIzNzVmYWQ3NzQ3YTM5YWUwOWFhZTZlNjQ1M2Q4NjE1
|
15
|
+
MzI5MmUzODZkZmJiMTk3MTRiOWY5N2Q3NTNlNTc4Y2UyYzdhMmM=
|
@@ -12,12 +12,16 @@ module Acfs::Model::Attributes
|
|
12
12
|
!!options[:allow_nil]
|
13
13
|
end
|
14
14
|
|
15
|
+
def blank_allowed?
|
16
|
+
!!options[:allow_blank]
|
17
|
+
end
|
18
|
+
|
15
19
|
def default_value
|
16
20
|
options[:default].is_a?(Proc) ? options[:default] : cast(options[:default])
|
17
21
|
end
|
18
22
|
|
19
23
|
def cast(obj)
|
20
|
-
return nil if obj.nil? && nil_allowed?
|
24
|
+
return nil if obj.nil? && nil_allowed? || (obj == '' && blank_allowed?)
|
21
25
|
cast_type obj
|
22
26
|
end
|
23
27
|
|
@@ -151,6 +151,17 @@ describe Acfs::Model::Attributes do
|
|
151
151
|
expect(resource.updated_at).to eq nil
|
152
152
|
end
|
153
153
|
end
|
154
|
+
|
155
|
+
context 'allow blank option' do
|
156
|
+
it 'should allow blank as value' do
|
157
|
+
model.send :attribute, :updated_at, Acfs::Model::Attributes::DateTime, default: DateTime.new, allow_blank: true
|
158
|
+
resource = model.new
|
159
|
+
expect(resource.updated_at).to eq DateTime.new
|
160
|
+
|
161
|
+
resource.updated_at = ''
|
162
|
+
expect(resource.updated_at).to eq nil
|
163
|
+
end
|
164
|
+
end
|
154
165
|
end
|
155
166
|
end
|
156
167
|
end
|