commit 727f6dcee654f34b861f9a36fbfa904abfbb73dd Author: Adrian Short Date: Tue Jul 17 09:48:17 2012 -0700 diff --git a/post.rb b/post.rb new file mode 100644 index 0000000..3841336 --- /dev/null +++ b/post.rb @@ -0,0 +1,26 @@ +class Post + include MongoMapper::Document + + key :title, String + key :url, String + key :author, String + key :summary, String + key :content, String + key :published, Time + key :loc, Hash # { lng, lat } + timestamps! + + ensure_index [[:loc, '2d']] + + belongs_to :feed + + EARTH_RADIUS_M = 6378000 + + def self.near(lat, lng, radius_m) + all( + :loc => { + '$nearSphere' => [ lng, lat ], + '$maxDistance' => radius_m / EARTH_RADIUS_M + }) + end +end