MongoMapper and GridFS joined in file upload love.
Declare the plugin and use the attachment method to make attachments.
class Foo include Mongoid::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
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 © 2010 Sascha Wise. See LICENSE for details.