Joint

MongoMapper and GridFS joined in file upload love.

Usage

Declare the plugin and use the attachment method to make attachments.

class Foo
  include MongoMapper::Document
  plugin Joint

  attachment :image
  attachment :pdf
end

This gives you #image, #image=, #pdf, and #pdf=. The = methods take any IO that responds to read (File, Tempfile, etc). The image and pdf methods return a GridIO instance (can be found in the ruby driver).

Also, #image and #pdf are proxies so you can do stuff like:

doc.image.id, doc.image.size, doc.image.type, doc.image.name

If you call a method other than those in the proxy it calls it on the GridIO instance so you can still get at all the GridIO instance methods.

Note on Patches/Pull Requests

Copyright

Copyright © 2010 John Nunemaker. See LICENSE for details.