Mongoid 5 has been released. The repository has been moved to the MongoDB organization and is now fully supported by MongoDB, the company. Great!
Gems are being upgraded to Mongoid 5. I maintain half a dozen of those, so I am going to keep an up-to-date list of the gems that support the new version, which will incidentally help everyone find their favorite Mongoid gems to stay productive, much like my 2011 post did.
So far I have added Mongoid 5 suport to two, and it was fairly easy - mongoid-scroll@d398c4e9, mongoid-tag-collectible@5813b77f and mongoid-autoinc@2be7377a should help you add support to other gems.
Since writing this I have also published a mongoid-compatibility gem that avoids redundant version checking code and introduces a thin compatibility layer for things like Moped::BSON::ObjectId.legal?(value)
(Mongoid 3) vs. BSON::ObjectId.legal?(value)
(Mongoid 4 and 5).
Supports Mongoid 5
- CarrierWave::Mongoid: Mongoid and MongoDB’s GridFS support in CarrierWave.
- Delayed::Backend::Mongoid: Mongoid backend for DelayedJob.
- Delayed::ShallowMongoid: Short-circuits serialization of Mongoid model instances when a delayed job is called on them.
- Kaminari: Paginator for modern web app frameworks and ORMs, including Mongoid.
- Mongoid::Autoinc: Adds auto incrementing fields to your documents.
- Mongoid::CachedJson: Effective caching for nested JSON models.
- Mongoid::CollectionSnapshot: Easy maintenence of collections of processed data.
- Mongoid::Enum: Sweet enum sugar for Mongoid documents.
- Mongoid::Fulltext: An n-gram based full text search.
- Mongoid::Geospatial: GeoRuby/RGeo support.
- Mongoid::GridFs: A pure Mongoid/Moped implementation of the MongoDB GridFS specification.
- Mongoid::History: Creates an audit trail for all changes in a model.
- Mongoid::Locker: Document-level locking.
- Mongoid::Multinenancy: Adds the ability to scope Mongoid models to a tenant in a shared database strategy.
- Mongoid::Orderable: Ordered list implementation.
- Mongoid::Paranoia: Enables a “soft delete” of Mongoid documents.
- Mongoid::RSpec: RSpec matchers and macros for Mongoid.
- Mongoid::Scroll: Enables infinite scrolling.
- Mongoid::Shell: Derive shell commands from Mongoid sessions and configuration options.
- Mongoid::Slug: Generates a URL slug/permalink based on fields in a Mongoid-based model.
- Mongoid::TagCollectible: Easily maintain a collection of Tag instances with aggregate counts from your model’s tags.
- Mongoid::Token: Short snappy tokens for Mongoid documents.
- Sunspot::Mongo: Sunspot search support for Mongoid.
Does Not Support Mongoid 5
Some of these gems look dead, so this is your opportunity to help! Please contribute.
- Mongoid::Atomic: Atomic updates support.
- Mongoid::Geo: Geo-based searched.
- Mongoid::Il8n: Localizable fields.
- Mongoid::Sadstory: Adds support for multiparameter fields to mongoid 4.x series.
- Mongoid::Search: Keyword-based search.
- Mongoid::Taggable: Adds tags to documents and make documents searchable by all or some tags.
- Mongoid::TaggableWithContext: Adds tagging support with pre-aggregation.
- Mongoid::Tracking: Tracker for document changes, more suitable when you need to embed tracking logic such as increments.
- Mongoid::Tree: Model tree structures.
- Mongoid::Votable: Vote models up/down.
- WillPaginateMongoid: Paginator for Mongoid.
Missing a Useful Gem?
Please comment below or make a PR and update this post.