Sha256: 291104837fb6af1437af2002261c9b4520ff0849e4f4e804675f892eb7a17d2d

Contents?: true

Size: 650 Bytes

Versions: 2

Compression:

Stored size: 650 Bytes

Contents

require 'dm-core'
require 'geo_ruby'
module DataMapper
  class Property
    class PostGISGeometry < Object
      include GeoRuby::SimpleFeatures
      
      def primitive?(value)
        value.kind_of? Geometry
      end
      
      def dump(value)
        value.nil? ? nil : value.as_hex_ewkb
      end
      
      def valid?(value, negated = false)
        super || dump(value).kind_of?(::String)
      end
      
      def load(value)
        value.nil? ? nil : Geometry.from_hex_ewkb(value)
      end
      
      def typecast_to_primitive(value)
        load(value)
      end
    end # class Text
  end # module Types
end # module DataMapper

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dm-postgis-2.0.1 lib/dm-postgis/pg_geometry.rb
dm-postgis-2.0.0 lib/dm-postgis/pg_geometry.rb