Class: ActiveRemote::Typecasting::BigDecimalTypecaster

Inherits:
Object
  • Object
show all
Defined in:
lib/active_remote/typecasting/big_decimal_typecaster.rb

Class Method Summary collapse

Class Method Details

.call(value) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/active_remote/typecasting/big_decimal_typecaster.rb', line 8

def self.call(value)
  if value.is_a?(BigDecimal)
    value
  elsif value.is_a?(Rational)
    value.to_f.to_d
  elsif value.respond_to?(:to_d)
    value.to_d
  else
    BigDecimal.new(value.to_s)
  end
end