Module: ActiveRecord::ConnectionAdapters::PostGISAdapter::CommonAdapterMethods

Included in:
MainAdapter
Defined in:
lib/active_record/connection_adapters/postgis_adapter/shared/common_adapter_methods.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#adapter_nameObject



13
14
15
# File 'lib/active_record/connection_adapters/postgis_adapter/shared/common_adapter_methods.rb', line 13

def adapter_name
  PostGISAdapter::ADAPTER_NAME
end

#default_sridObject



26
27
28
# File 'lib/active_record/connection_adapters/postgis_adapter/shared/common_adapter_methods.rb', line 26

def default_srid
  0
end

#postgis_lib_versionObject



21
22
23
# File 'lib/active_record/connection_adapters/postgis_adapter/shared/common_adapter_methods.rb', line 21

def postgis_lib_version
  @postgis_lib_version ||= select_value("SELECT PostGIS_Lib_Version()")
end

#quote(value_, column_ = nil) ⇒ Object



34
35
36
37
38
39
40
41
42
# File 'lib/active_record/connection_adapters/postgis_adapter/shared/common_adapter_methods.rb', line 34

def quote(value_, column_=nil)
  if ::RGeo::Feature::Geometry.check_type(value_)
    "'#{::RGeo::WKRep::WKBGenerator.new(:hex_format => true, :type_format => :ewkb, :emit_ewkb_srid => true).generate(value_)}'"
  elsif value_.is_a?(::RGeo::Cartesian::BoundingBox)
    "'#{value_.min_x},#{value_.min_y},#{value_.max_x},#{value_.max_y}'::box"
  else
    super
  end
end

#set_rgeo_factory_settings(factory_settings_) ⇒ Object



9
10
11
# File 'lib/active_record/connection_adapters/postgis_adapter/shared/common_adapter_methods.rb', line 9

def set_rgeo_factory_settings(factory_settings_)
  @rgeo_factory_settings = factory_settings_
end

#spatial_column_constructor(name_) ⇒ Object



17
18
19
# File 'lib/active_record/connection_adapters/postgis_adapter/shared/common_adapter_methods.rb', line 17

def spatial_column_constructor(name_)
  PostGISAdapter::SPATIAL_COLUMN_CONSTRUCTORS[name_]
end

#srs_database_columnsObject



30
31
32
# File 'lib/active_record/connection_adapters/postgis_adapter/shared/common_adapter_methods.rb', line 30

def srs_database_columns
  {:srtext_column => 'srtext', :proj4text_column => 'proj4text', :auth_name_column => 'auth_name', :auth_srid_column => 'auth_srid'}
end