Module: ActiveRecordSpatial

Defined in:
lib/activerecord-spatial.rb,
lib/activerecord-spatial/version.rb,
lib/activerecord-spatial/active_record.rb,
lib/activerecord-spatial/spatial_scopes.rb,
lib/activerecord-spatial/spatial_columns.rb,
lib/activerecord-spatial/spatial_function.rb,
lib/activerecord-spatial/spatial_scope_constants.rb,
lib/activerecord-spatial/active_record/models/spatial_column.rb,
lib/activerecord-spatial/spatial_scope_constants/postgis_2_0.rb,
lib/activerecord-spatial/spatial_scope_constants/postgis_2_2.rb,
lib/activerecord-spatial/active_record/models/geometry_column.rb,
lib/activerecord-spatial/active_record/models/spatial_ref_sys.rb,
lib/activerecord-spatial/active_record/models/geography_column.rb,
lib/activerecord-spatial/spatial_scope_constants/postgis_legacy.rb,
lib/activerecord-spatial/active_record/connection_adapters/postgresql/postgis.rb,
lib/activerecord-spatial/active_record/connection_adapters/postgresql/unknown_srid.rb,
lib/activerecord-spatial/active_record/connection_adapters/postgresql/adapter_extensions.rb

Defined Under Namespace

Modules: Associations, SpatialColumn, SpatialColumns, SpatialScopeConstants, SpatialScopes Classes: GeographyColumn, GeometryColumn, SpatialFunction, SpatialRefSys

Constant Summary collapse

BASE_PATH =
File.dirname(__FILE__)
VERSION =
'2.0.0'.freeze
GeospatialScopes =

Alias for backwards compatibility.

SpatialScopes
GeometryColumns =

Alias for backwards compatibility.

SpatialColumns
POSTGIS =
begin
  if (version_string = ::ActiveRecord::Base.connection.select_rows('SELECT postgis_full_version()').flatten.first).present?
    hash = {
      use_stats: version_string =~ /USE_STATS/
    }

    {
      lib: /POSTGIS="([^"]+)"/,
      geos: /GEOS="([^"]+)"/,
      proj: /PROJ="([^"]+)"/,
      libxml: /LIBXML="([^"]+)"/
    }.each do |k, v|
      hash[k] = version_string.scan(v).flatten.first
    end

    hash.freeze
  else
    {}.freeze
  end
end
UNKNOWN_SRIDS =
begin
  if ActiveRecordSpatial::POSTGIS[:lib] >= '2.0'
    {
      geography: 0,
      geometry: 0
    }.freeze
  else
    {
      geography:  0,
      geometry: -1
    }.freeze
  end
end
UNKNOWN_SRID =
begin
  ActiveRecordSpatial::UNKNOWN_SRIDS[:geometry]
end

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.default_column_nameObject



16
17
18
# File 'lib/activerecord-spatial.rb', line 16

def default_column_name
  @default_column_name ||= :the_geom
end

Class Method Details

.geography_columns?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/activerecord-spatial.rb', line 12

def geography_columns?
  ::ActiveRecord::Base.connection.geography_columns?
end

.geometry_columns?Boolean

Returns:

  • (Boolean)


8
9
10
# File 'lib/activerecord-spatial.rb', line 8

def geometry_columns?
  ::ActiveRecord::Base.connection.geometry_columns?
end