lib/coercible/coercer/decimal.rb
module Coercible
class Coercer
# Coerce BigDecimal values
class Decimal < Numeric
primitive ::BigDecimal
FLOAT_FORMAT = 'F'.freeze
# Coerce given value to String
#
# @example
# coercer[BigDecimal].to_string(BigDecimal('1.0')) # => "1.0"
#
# @param [BigDecimal] value
#
# @return [String]
#
# @api public
def to_string(value)
value.to_s(FLOAT_FORMAT)
end
# Passthrough the value
#
# @example
# Coercible::Coercion::BigDecimal.to_decimal(BigDecimal('1.0')) # => BigDecimal('1.0')
#
# @param [BigDecimal] value
#
# @return [Fixnum]
#
# @api public
def to_decimal(value)
value
end
end # class BigDecimal
end # class Coercer
end # module Coercible