Module: ActiveRecord::ConnectionAdapters::MysqlAdapter::Fields

Defined in:
lib/active_record/connection_adapters/mysql_adapter.rb

Defined Under Namespace

Classes: Boolean, Date, DateTime, Decimal, Float, Identity, Integer, Time, Type

Constant Summary collapse

TYPES =
{}

Class Method Summary collapse

Class Method Details

.alias_type(new, old) ⇒ Object



388
389
390
# File 'lib/active_record/connection_adapters/mysql_adapter.rb', line 388

def self.alias_type(new, old)
  TYPES[new] = TYPES[old]
end

.find_type(field) ⇒ Object



392
393
394
395
396
397
398
# File 'lib/active_record/connection_adapters/mysql_adapter.rb', line 392

def self.find_type(field)
  if field.type == Mysql::Field::TYPE_TINY && field.length > 1
    TYPES[Mysql::Field::TYPE_LONG]
  else
    TYPES.fetch(field.type) { Fields::Identity.new }
  end
end

.register_type(type_id, type) ⇒ Object

Register an MySQL type_id with a typecasting object in type.



384
385
386
# File 'lib/active_record/connection_adapters/mysql_adapter.rb', line 384

def self.register_type(type_id, type)
  TYPES[type_id] = type
end