Home > map_reduced

map_reduced

Map_reduced is a project mainly written in Ruby, based on the MIT license.

Easy templating for your MongoDB map_reduce runs

= map_reduced

Easy templating for your MongoDB map_reduce runs.

MapReduced::Config.database = 'my_database_name'
MapReduced::Config.template_path = 'some/path/where/I/like/templates/to/go'

class User
  include MapReduced::Document

  map_reduce :count_followers, ...
  use_functions  :find_thing
end

## User.run_count_followers
# 
# => #<Mongo::Collection:0x00000100e17a50 @name="tmp.mr.mapreduce_1283030647_26", @db=#<Mongo::DB:0x00000100cbddb0 ......

In this situation, you'd have a directory called "user" in your function templates path (defaults to "app/functions" in Rails, "./functions" elsewhere) with "count_followers_map.js.erb", "count_followers_reduce.js.erb", and "find_thing.js.erb".

== Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so I don't break it in a future version unintentionally.
  • 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)
  • Send me a pull request. Bonus points for topic branches.

== Copyright

Copyright (c) 2010 Scott Burton. See LICENSE for details.

Previous:sample_app