Class: ActiveRecord::ConnectionAdapters::Mysql2Rgeo::TableDefinition

Inherits:
MySQL::TableDefinition
  • Object
show all
Includes:
ColumnMethods
Defined in:
lib/active_record/connection_adapters/mysql2rgeo/spatial_table_definition.rb

Overview

:nodoc:

Instance Method Summary collapse

Methods included from ColumnMethods

#geometry, #geometry_collection, #line_string, #multi_line_string, #multi_point, #multi_polygon, #point, #polygon, #spatial

Instance Method Details

#new_column_definition(name, type, **options) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/active_record/connection_adapters/mysql2rgeo/spatial_table_definition.rb', line 9

def new_column_definition(name, type, **options)
  if (info = Mysql2RgeoAdapter.spatial_column_options(type.to_sym))
    if (limit = options.delete(:limit)) && limit.is_a?(::Hash)
      options.merge!(limit)
    end

    geo_type = ColumnDefinitionUtils.geo_type(options[:type] || type || info[:type])

    options[:spatial_type] = geo_type
    column = super(name, geo_type.downcase.to_sym, **options)
  else
    column = super(name, type, **options)
  end

  column
end