Sha256: a1af73090abcf89938efb8f2c5d4d0083e0831d4fdb3e5b7d57c1c98b760d4c0

Contents?: true

Size: 860 Bytes

Versions: 4

Compression:

Stored size: 860 Bytes

Contents

module Mongoid
  module Spacial
    module Document 
      extend ActiveSupport::Concern

      included do
        attr_accessor :geo
        cattr_accessor :spacial_fields, :spacial_fields_indexed
        @@spacial_fields = []
        @@spacial_fields_indexed = []
      end

      module ClassMethods #:nodoc:
        # create spacial index for given field
        # @param [String,Symbol] name
        # @param [Hash] options options for spacial_index
        def spacial_index name, *options
          self.spacial_fields_indexed << name
          index [[ name, Mongo::GEO2D ]], *options
        end
      end

      module InstanceMethods #:nodoc:
        def distance_from(key,center, unit = nil, formula = nil)
          loc = res.send(key)
          Mongoid::Spacial.distance(center, loc, unit, formula = nil)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mongoid_spacial-0.2.0 lib/mongoid_spacial/spacial/document.rb
mongoid_spacial-0.1.1 lib/mongoid_spacial/spacial/document.rb
mongoid_spacial-0.1.0 lib/mongoid_spacial/spacial/document.rb
mongoid_spacial-0.0.1 lib/mongoid_spacial/spacial/document.rb