diff --git a/lib/has_details.rb b/lib/has_details.rb index 4ac1978..75675a3 100644 --- a/lib/has_details.rb +++ b/lib/has_details.rb @@ -52,7 +52,7 @@ def has_details(options = {}) elsif t == Integer "val = (val.nil? ? nil : (Integer(val) rescue nil))" elsif t == BigDecimal - "val = val.is_a?(BigDecimal) ? val : val.to_d" + "val = val.is_a?(BigDecimal) ? val : (val.blank? ? nil : val.to_d)" else "raise \"Assigned value must be a #{t.inspect}\" unless val.nil? || val.is_a?(#{t.inspect})" end