module PostgresExt::Postgis::ActiveRecord::ConnectionAdapters::PostgreSQLColumn
Public Class Methods
new(name, default, oid_type, sql_type = nil, null = true)
click to toggle source
Calls superclass method
# File lib/postgres_ext/postgis/active_record/connection_adapters.rb, line 42 def initialize(name, default, oid_type, sql_type = nil, null = true) super if type == :geometry @srid = extract_srid sql_type @geometry_type = extract_geometry_type sql_type end end
prepended(klass)
click to toggle source
# File lib/postgres_ext/postgis/active_record/connection_adapters.rb, line 3 def self.prepended(klass) klass.class_eval do attr_reader :geometry_type, :srid class << klass prepend ClassMethods end end end
Private Instance Methods
extract_geometry_type(sql_type)
click to toggle source
# File lib/postgres_ext/postgis/active_record/connection_adapters.rb, line 58 def extract_geometry_type(sql_type) if match = geometry_type_regex.match(sql_type) match[:geom_type].downcase.to_sym.inspect end end
extract_limit(sql_type)
click to toggle source
Calls superclass method
# File lib/postgres_ext/postgis/active_record/connection_adapters.rb, line 68 def extract_limit(sql_type) case sql_type when /^geometry/i nil else super end end
extract_srid(sql_type)
click to toggle source
# File lib/postgres_ext/postgis/active_record/connection_adapters.rb, line 52 def extract_srid(sql_type) if match = geometry_type_regex.match(sql_type) match[:srid] end end
geometry_type_regex()
click to toggle source
# File lib/postgres_ext/postgis/active_record/connection_adapters.rb, line 64 def geometry_type_regex /geometry\((?<geom_type>\w+),(?<srid>\d+)\)/i end
simplified_type(field_type)
click to toggle source
Calls superclass method
# File lib/postgres_ext/postgis/active_record/connection_adapters.rb, line 77 def simplified_type(field_type) case field_type when /geography/ :geography when /geometry(\(\w,\d\))?/ :geometry else super end end