module Mongoid::Urls

Creates friendly urls for mongoid models!

Mongoid::Urls::VERSION

Constants

VERSION

Public Instance Methods

new_url() click to toggle source

Gets a new url. Go each arg/key one by one, don't join'em.

# File lib/mongoid/urls.rb, line 70
def new_url
  url_keys.each do |key|
    next if (val = send(key)).blank?
    url = val.to_s.parameterize
    if (dup = self.class.find_url(url))
      next if dup.id != id
    end
    return url
  end; nil
end
to_param() click to toggle source
# File lib/mongoid/urls.rb, line 64
def to_param
  url
end

Protected Instance Methods

create_urls() click to toggle source
# File lib/mongoid/urls.rb, line 88
def create_urls
  return unless (slug = new_url)
  validate_url(slug)

  self.url = slug
  return if url_simple
  urls << slug
  urls.uniq!
end
validate_url(slug) click to toggle source
# File lib/mongoid/urls.rb, line 83
def validate_url(slug)
  return unless reserved_words.include?(slug)
  errors.add(:url, :reserved)
end