Module: ActiveRecord::Metal::Postgresql::Conversions::Numeric

Included in:
ActiveRecord::Metal::Postgresql::Conversions
Defined in:
lib/active_record/metal/postgresql/conversions.rb,
lib/active_record/metal/postgresql/conversions.rb

Constant Summary collapse

T =
::Numeric

Instance Method Summary collapse

Instance Method Details

#_float(s) ⇒ Object



29
30
31
32
33
34
35
36
37
38
# File 'lib/active_record/metal/postgresql/conversions.rb', line 29

def _float(s);    
  Float(s)
rescue ArgumentError
  case s
  when /^Infinity$/   then Float::INFINITY
  when /^-Infinity$/  then -Float::INFINITY
  when /^NaN$/        then Float::NAN
  else raise
  end
end

#_int(s) ⇒ Object



25
26
27
# File 'lib/active_record/metal/postgresql/conversions.rb', line 25

def _int(s)
  Integer(s)
end

#_money(s) ⇒ Object



40
41
42
# File 'lib/active_record/metal/postgresql/conversions.rb', line 40

def _money(s)
  Float s.gsub(/[^-0-9.]/, "")
end

#_numeric(s) ⇒ Object



21
22
23
# File 'lib/active_record/metal/postgresql/conversions.rb', line 21

def _numeric(s)
  s =~ /\D/ ? Float(s) : Integer(s)
end

#_oid(s) ⇒ Object



44
45
46
# File 'lib/active_record/metal/postgresql/conversions.rb', line 44

def _oid(s)
  Integer(s)
end