Class: Arel::Visitors::PostGIS

Inherits:
PostGISSuperclass
  • Object
show all
Includes:
RGeo::ActiveRecord::SpatialToSql
Defined in:
lib/active_record/connection_adapters/postgis/arel_tosql.rb

Overview

:nodoc:

Constant Summary collapse

FUNC_MAP =
{
  "st_wkttosql" => "ST_GeomFromEWKT",
}

Instance Method Summary collapse

Instance Method Details

#st_func(standard_name) ⇒ Object



17
18
19
# File 'lib/active_record/connection_adapters/postgis/arel_tosql.rb', line 17

def st_func(standard_name)
  FUNC_MAP[standard_name.downcase] || standard_name
end

#visit_RGeo_ActiveRecord_SpatialNamedFunction(node, collector) ⇒ Object



25
26
27
# File 'lib/active_record/connection_adapters/postgis/arel_tosql.rb', line 25

def visit_RGeo_ActiveRecord_SpatialNamedFunction(node, collector)
  aggregate(st_func(node.name), node, collector)
end

#visit_String(node, collector) ⇒ Object



21
22
23
# File 'lib/active_record/connection_adapters/postgis/arel_tosql.rb', line 21

def visit_String(node, collector)
  collector << "#{st_func('ST_WKTToSQL')}(#{quote(node)})"
end