Flowdock
method

initialize_type_map

Importance_0
v7.1.3.2 - Show latest stable - 0 notes - Class: ActiveRecord::ConnectionAdapters::AbstractAdapter
  • 1.0.0
  • 1.1.6
  • 1.2.6
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.8
  • 3.0.0
  • 3.0.9
  • 3.1.0
  • 3.2.1
  • 3.2.8
  • 3.2.13
  • 4.0.2
  • 4.1.8
  • 4.2.1
  • 4.2.7
  • 4.2.9
  • 5.0.0.1
  • 5.1.7
  • 5.2.3
  • 6.0.0
  • 6.1.3.1
  • 6.1.7.7
  • 7.0.0 (0)
  • 7.1.3.2 (0)
  • What's this?
initialize_type_map(m) private

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File activerecord/lib/active_record/connection_adapters/abstract_adapter.rb, line 902
          def initialize_type_map(m)
            register_class_with_limit m, %(boolean),       Type::Boolean
            register_class_with_limit m, %(char),          Type::String
            register_class_with_limit m, %(binary),        Type::Binary
            register_class_with_limit m, %(text),          Type::Text
            register_class_with_precision m, %(date),      Type::Date
            register_class_with_precision m, %(time),      Type::Time
            register_class_with_precision m, %(datetime),  Type::DateTime
            register_class_with_limit m, %(float),         Type::Float
            register_class_with_limit m, %(int),           Type::Integer

            m.alias_type %(blob),      "binary"
            m.alias_type %(clob),      "text"
            m.alias_type %(timestamp), "datetime"
            m.alias_type %(numeric),   "decimal"
            m.alias_type %(number),    "decimal"
            m.alias_type %(double),    "float"

            m.register_type %(^json), Type::Json.new

            m.register_type(%(decimal)) do |sql_type|
              scale = extract_scale(sql_type)
              precision = extract_precision(sql_type)

              if scale == 0
                # FIXME: Remove this class as well
                Type::DecimalWithoutScale.new(precision: precision)
              else
                Type::Decimal.new(precision: precision, scale: scale)
              end
            end
          end
Register or log in to add new notes.