Skip to content
A Rails gem that lets you easily assign an UUID to your models.
Ruby
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib
rails
test
.gitignore
.has_uuid.gemspec.swp
.rvmrc
.travis.yml
CHANGELOG.md
Gemfile
LICENSE
README.markdown
Rakefile
has_uuid.gemspec

README.markdown

has_uuid

has_uuid provides basic UUID assignment methods for ActiveRecord objects.

It depends on the uuidtools gem.

Initial credits go to has_uuid.

Travis build status: Travis build status

Installation

Add

gem 'has_uuid'

to your Gemfile and run

bundle install

Finally, you need to create and run a migration which adds an uuid column to the model to which you want to add an UUID:

class AddUuidToOrders < ActiveRecord::Migration
  def change
    add_column :orders, :uuid, :string
  end
end

Usage

class Post < ActiveRecord::Base
  # automatically assign a UUID to the "uuid" column on create
  has_uuid
end

class Comment < ActiveRecord::Base
  # skip assignment on create
  has_uuid :auto => false
end

class User < ActiveRecord::Base
  # store the UUID in the "token" column
  has_uuid :column => :token, :generator => :timestamp
end

# assign a UUID if a valid one is not already present
@post.assign_uuid

# assign a UUID, replacing whatever is already there
@post.assign_uuid(:force => true)

# assign a UUID and save, replacing whatever is there
@post.assign_uuid!

# check if the current UUID is valid
@post.uuid_valid?

# Generate a UUID to use it later
Post.generate_uuid
Something went wrong with that request. Please try again.