Mongoid::Urls

Gem Version Dependency Status Build Status Code Climate Coverage Status

Mongoid::Urls

Simple slugs for mongoid models!

Nice URLs for Mongoid Documents

This library is a quick and simple way to generate slugs for your mongoid documents.

Mongoid::Urls can help turn this:

http://bestappever.com/video/4dcfbb3c6a4f1d4c4a000012

Into something like this:

http://bestappever.com/video/kittens-playing-with-puppies

Getting started

In your gemfile, add:

gem 'mongoid-urls'

In your Mongoid documents, just add include Mongoid::Urls and use the url method to setup, like so:

class Video
  include Mongoid::Document
  include Mongoid::Urls

  field :title

  url :title
end

And that's it! There's some configuration options too - which are all listed below.

Finders

Mongoid::Urls will never override find!

Video.find_by_url("the-nice-url")

Or just:

Account.find_url("acc-123456")

Configuration

You may choose between two different systems for how your urls are stored:

Simple: #url String only.

Default to simple + #urls Array for history (find when page moved).

Reserved

Defaults to %w(new edit). Have in mind: It's an overwrite, not a merge.

Notes

If you're looking for conflict resolution, check out mongoid-slugs. This gem intended to be used for manual conflict resolution (duplicates): Use your own logic and/or return conflict error to the user.