Class: RailsSimpleParams::Coercion::BigDecimalParam

Inherits:
Base
  • Object
show all
Defined in:
lib/rails_simple_params/coercion/big_decimal_param.rb

Constant Summary collapse

DEFAULT_PRECISION =
14

Instance Attribute Summary

Attributes inherited from Base

#options, #param, #type

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from RailsSimpleParams::Coercion::Base

Instance Method Details

#coerceObject



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/rails_simple_params/coercion/big_decimal_param.rb', line 8

def coerce
  return nil if param == '' # e.g. from an empty field in an HTML form

  stripped_param = if param.is_a?(String)
                     param.delete('$,').strip.to_f
                   else
                     param
                   end

  BigDecimal(stripped_param, options[:precision] || DEFAULT_PRECISION)
end