lib/golden_fleece/value.rb in golden_fleece-0.1.4 vs lib/golden_fleece/value.rb in golden_fleece-0.1.5
- old
+ new
@@ -36,11 +36,11 @@
end
# If there's a persisted value, use that
# If not, use the default value; if the default is a lambda, call it
def apply_default
- @value = if value.nil?
+ @value = if value.nil? || schema.parent?
if schema.parent?
d = schema.reduce({}) { |memo, (subschema_name, subschema)|
memo[subschema_name] = subschema.value.compute(record)
memo
}
@@ -49,10 +49,10 @@
schema.default.call(record)
else
schema.default
end
else
- value
+ value.is_a?(Hash) ? deep_symbolize_keys(value) : value
end
end
end
end