Class: ActiveRecord::ConnectionAdapters::PostGIS::TableDefinition
- Inherits:
-
PostgreSQL::TableDefinition
- Object
- PostgreSQL::TableDefinition
- ActiveRecord::ConnectionAdapters::PostGIS::TableDefinition
- Includes:
- ColumnMethods
- Defined in:
- lib/active_record/connection_adapters/postgis/spatial_table_definition.rb
Overview
:nodoc:
Instance Method Summary collapse
Methods included from ColumnMethods
#geography, #geometry, #geometry_collection, #line_string, #multi_line_string, #multi_point, #multi_polygon, #spatial, #st_point, #st_polygon
Instance Method Details
#new_column_definition(name, type, **options) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/active_record/connection_adapters/postgis/spatial_table_definition.rb', line 10 def new_column_definition(name, type, **) col_type = if type.to_sym == :virtual [:type] else type end if (info = PostGISAdapter.(col_type)) if (limit = .delete(:limit)) && limit.is_a?(::Hash) .merge!(limit) end geo_type = ColumnDefinitionUtils.geo_type([:type] || type || info[:type]) base_type = info[:type] || ([:geographic] ? :geography : :geometry) [:limit] = ColumnDefinitionUtils.(geo_type, ) [:spatial_type] = geo_type column = super(name, base_type, **) else column = super(name, type, **) end column end |