Class: ActiveRecord::ConnectionAdapters::JdbcColumn

Inherits:
Column
  • Object
show all
Defined in:
lib/arjdbc/jdbc/column.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config, name, default, *args) ⇒ JdbcColumn

Returns a new instance of JdbcColumn.



6
7
8
9
10
# File 'lib/arjdbc/jdbc/column.rb', line 6

def initialize(config, name, default, *args)
  call_discovered_column_callbacks(config)
  super(name, default_value(default), *args)
  init_column(name, default, *args)
end

Instance Attribute Details

#limit=(value) ⇒ Object (writeonly)

Sets the attribute limit

Parameters:

  • value

    the value to set the attribute limit to.



4
5
6
# File 'lib/arjdbc/jdbc/column.rb', line 4

def limit=(value)
  @limit = value
end

#precision=(value) ⇒ Object (writeonly)

Sets the attribute precision

Parameters:

  • value

    the value to set the attribute precision to.



4
5
6
# File 'lib/arjdbc/jdbc/column.rb', line 4

def precision=(value)
  @precision = value
end

Class Method Details

.column_typesObject



27
28
29
30
31
32
33
34
# File 'lib/arjdbc/jdbc/column.rb', line 27

def self.column_types
  # reset the column types if the # of constants changed since last call
  @column_types ||= begin 
    types = driver_constants.select { |c| c.respond_to? :column_selector }
    types.map! { |c| c.column_selector }
    types.inject({}) { |h, val| h[ val[0] ] = val[1]; h }
  end
end

.driver_constantsObject



36
37
38
39
# File 'lib/arjdbc/jdbc/column.rb', line 36

def self.driver_constants
  reset_constants
  @driver_constants ||= ::ArJdbc.constants.map { |c| ::ArJdbc.const_get c }
end

.reset_constantsObject



45
46
47
48
# File 'lib/arjdbc/jdbc/column.rb', line 45

def self.reset_constants
  return false if ! defined?(@driver_constants) || ! @driver_constants
  reset_constants! if ::ArJdbc.constants.size != @driver_constants.size
end

.reset_constants!Object



41
42
43
# File 'lib/arjdbc/jdbc/column.rb', line 41

def self.reset_constants!
  @driver_constants = nil; @column_types = nil
end

Instance Method Details

#default_value(value) ⇒ Object



14
# File 'lib/arjdbc/jdbc/column.rb', line 14

def default_value(value); value; end

#init_column(*args) ⇒ Object



12
# File 'lib/arjdbc/jdbc/column.rb', line 12

def init_column(*args); end