scoped_id
Generates scoped unique identifiers.
Installation
Add scoped_id
to your Gemfile:
gem 'scoped_id', '~> 0.0.2'
Usage
class Project < ActiveRecord::Base
include ScopedId::Concern
scoped_id :per_owner_id, scope: :owner_id
end
jacks_project = Project.create(owner_id: 1)
jacks_project.per_owner_id # => 1
johns_project = Project.create(owner_id: 2)
johns_project.per_owner_id # => 1
The scoped_id is generated in a before_create
callback unless it has been manually set.
The scoped_id will be marked as readonly and will validate the uniqueness of its value.
Options
Scope (required)
The scope by which to determine the next identifier when creating a new object.
Contributing
- Fork it ( http://github.com/mbillard/scoped_id/fork )
- 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 new Pull Request