module Mongoid::UPK::ClassMethods

Public Instance Methods

bson_uuid_pk() click to toggle source

BSON::ObjectId + UUID

# File lib/mongoid_upk.rb, line 38
def bson_uuid_pk
  key :_id do |origin_bson_id|
    uuid = UUID.new
    "#{origin_bson_id}-#{uuid.generate(:compact)}"
  end
end
pretty_uuid_pk() click to toggle source

UUID with hyphens (36 digits)

# File lib/mongoid_upk.rb, line 30
def pretty_uuid_pk
  key :_id do |origin_bson_id|
    uuid = UUID.new
    "#{uuid.generate}"
  end
end
unique_pk() { || ... } click to toggle source
# File lib/mongoid_upk.rb, line 45
def unique_pk
  if block_given?
    key :_id do |origin_bson_id|
      yield
    end
  else
    raise ArgumentError, "No block provided!"
  end
end
uuid_pk() click to toggle source

UUID compact (32 digits)

# File lib/mongoid_upk.rb, line 22
def uuid_pk
  key :_id do |origin_bson_id|
    uuid = UUID.new
    "#{uuid.generate(:compact)}"
  end
end