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

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