Module: ArJdbc::Oracle::Column::Cast

Defined in:
lib/arjdbc/oracle/column.rb

Instance Method Summary collapse

Instance Method Details

#string_to_time(string) ⇒ Object



107
108
109
110
111
112
113
# File 'lib/arjdbc/oracle/column.rb', line 107

def string_to_time(string)
  return string unless string.is_a?(String)
  return nil if string.empty?
  return Time.now if string.index('CURRENT') == 0 # TODO seems very wrong

  super(string)
end

#value_to_boolean(value) ⇒ Object

Convert a value to a boolean.



94
95
96
97
98
99
100
101
102
103
104
# File 'lib/arjdbc/oracle/column.rb', line 94

def value_to_boolean(value)
  # NOTE: Oracle JDBC meta-data gets us DECIMAL for NUMBER(1) values
  # thus we're likely to get a column back as BigDecimal (e.g. 1.0)
  if value.is_a?(String)
    value.blank? ? nil : value == '1'
  elsif value.is_a?(Numeric)
    value.to_i == 1 # <BigDecimal:7b5bfe,'0.1E1',1(4)>
  else
    !! value
  end
end