0.0
No commit activity in last 3 years
No release in over 3 years
Sequel plugin which provides geo distance-based filters and distance calculation functionality for model.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 1.2.9

Runtime

>= 1.5.0
 Project Readme

About¶ ↑

Mappable provides geo distance-based filters and distance calculation functionality for model. It requires the geokit gem and was heavily inspired by the geokit-rails gem.

Install¶ ↑

Simply install it as any other gem:

gem install sequel_mappable

Or when using bundler, add it got your Gemfile:

gem sequel_mappable

This should also install the geokit gem.

Quick Start¶ ↑

In your model:

class User < Sequel::Model
  plugin :mappable
end

In your migrations:

class AddGeoDataToUser < Sequel::Migration
  def up
    alter_table :users do
      add_column :lng, Float
      add_column :lat, Float
    end
  end

  def down
    alter_table :users do
      drop_column :lng
      drop_column :lat
    end
  end
end

Now add some records with valid geo data.

In your controller you can then do:

def index
  users_near_to_me = User.f_origin(User[1], 10)
end

Filters¶ ↑

Please have a look at the source to get a full list of all available functionality.

Todo¶ ↑

  • Source documentation (rdoc)

  • Source cleanup (no hardcoding of column names)

  • Better support for :km, :miles, :sphere, :flat, etc.

  • Tests

Contributing¶ ↑

If you’d like to contribute a feature or bugfix: Thanks! To make sure your fix/feature has a high chance of being included, please read the following guidelines:

  1. Fork the project.

  2. Make your feature addition or bug fix.

  3. Add tests for it. This is important so we don’t break anything in a future version unintentionally.

  4. Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

  5. Send me a pull request. Bonus points for topic branches.