ActiveModel::Permalink
ActiveModel::Permalink
generates permalinks for your ActiveModel
objects. It includes support for Mongoid
.
Installation
Add this line to your application's Gemfile:
gem 'active_model-permalink'
And then execute:
$ bundle
Or install it yourself as:
$ gem install active_model-permalink
Usage
ActiveModel::Permalink
generates permalinks for your objects as part of a before_validation
callback. It uses the following attributes in order to generate from (provided these are present):
- name
- title
In case the permalink
attribute is present already, it won't bother to change it. See the specs for more information about the behavior.
With simple ActiveModel classes
class MyClass
# Make sure you are using a real ActiveModel object
extend ActiveModel::Callbacks
include ActiveModel::Validations
include ActiveModel::Validations::Callbacks
include ActiveModel::Permalink
attr_accessor :name, :title, :permalink
end
my_instance = MyClass.new
my_instance.name = 'My Name'
my_instance.valid? # this triggers the callback that is used to ensure a permalink is present
my_instance.permalink
# => 'my-name'
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request