Class: Arel::Visitors::Mysql2Rgeo
- Inherits:
-
MySQLSuperclass
- Object
- Arel::Visitors::Mysql2Rgeo
- Includes:
- BindVisitor, RGeo::ActiveRecord::SpatialToSql
- Defined in:
- lib/active_record/connection_adapters/mysql2rgeo/arel_tosql.rb
Overview
:nodoc:
Constant Summary collapse
- FUNC_MAP =
{ "st_wkttosql" => "ST_GeomFromText", "st_wkbtosql" => "ST_GeomFromWKB", "st_length" => "ST_Length" }.freeze
Instance Method Summary collapse
- #st_func(standard_name) ⇒ Object
- #visit_RGeo_ActiveRecord_SpatialNamedFunction(node, collector) ⇒ Object
- #visit_String(node, collector) ⇒ Object
Instance Method Details
#st_func(standard_name) ⇒ Object
23 24 25 |
# File 'lib/active_record/connection_adapters/mysql2rgeo/arel_tosql.rb', line 23 def st_func(standard_name) FUNC_MAP[standard_name.downcase] || standard_name end |
#visit_RGeo_ActiveRecord_SpatialNamedFunction(node, collector) ⇒ Object
31 32 33 |
# File 'lib/active_record/connection_adapters/mysql2rgeo/arel_tosql.rb', line 31 def visit_RGeo_ActiveRecord_SpatialNamedFunction(node, collector) aggregate(st_func(node.name), node, collector) end |
#visit_String(node, collector) ⇒ Object
27 28 29 |
# File 'lib/active_record/connection_adapters/mysql2rgeo/arel_tosql.rb', line 27 def visit_String(node, collector) collector << "#{st_func('ST_WKTToSQL')}(#{quote(node)})" end |