class ActiveRecord::ConnectionAdapters::PostgreSQL::OID::Money
:nodoc:
:nodoc:
def cast_value(value)
def cast_value(value) return value unless ::String === value # Because money output is formatted according to the locale, there are two # cases to consider (note the decimal separators): # (1) $12,345,678.12 # (2) $12.345.678,12 # Negative values are represented as follows: # (3) -$2.55 # (4) ($2.55) value = value.sub(/^\((.+)\)$/, '-\1') # (4) case value when /^-?\D*+[\d,]+\.\d{2}$/ # (1) value.delete!("^-0-9.") when /^-?\D*+[\d.]+,\d{2}$/ # (2) value.delete!("^-0-9,") value.tr!(",", ".") end super(value) end
def scale
def scale 2 end
def type
:nodoc:
def type :money end