Sha256: b2969a6b297652631f9e1b722f8ed011de97de180bffc2cd189c02ed87823e57

Contents?: true

Size: 1004 Bytes

Versions: 1

Compression:

Stored size: 1004 Bytes

Contents

# scoped_id

Generates scoped unique identifiers.

## Installation

Add `scoped_id` to your Gemfile:

    gem 'scoped_id', '~> 0.0.1'

## 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

1. Fork it ( http://github.com/mbillard/scoped_id/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
scoped_id-0.0.1 README.md