diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-09-01 16:00:30 -0300 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-09-01 16:02:04 -0300 |
commit | 4727a94c50e8bb371e9c9e7798a5ba0510320657 (patch) | |
tree | 84b79d9c689de09dc6e318384510c944b3ecc276 /activerecord/lib | |
parent | 9f28cb9dc778b46a3e455f9d64c719a8a95078b8 (diff) | |
download | rails-4727a94c50e8bb371e9c9e7798a5ba0510320657.tar.gz rails-4727a94c50e8bb371e9c9e7798a5ba0510320657.tar.bz2 rails-4727a94c50e8bb371e9c9e7798a5ba0510320657.zip |
Respect scale of the column in the Decimal type
[Rafael Mendonça França + Jean Boussier]
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/type/decimal.rb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/type/decimal.rb b/activerecord/lib/active_record/type/decimal.rb index f200a92d10..f5b145230d 100644 --- a/activerecord/lib/active_record/type/decimal.rb +++ b/activerecord/lib/active_record/type/decimal.rb @@ -14,7 +14,7 @@ module ActiveRecord private def cast_value(value) - case value + casted_value = case value when ::Float convert_float_to_big_decimal(value) when ::Numeric, ::String @@ -26,6 +26,8 @@ module ActiveRecord cast_value(value.to_s) end end + + scale ? casted_value.round(scale) : casted_value end def convert_float_to_big_decimal(value) |