module BSON::ObjectId::UUIDConvertable

Constants

UUID_PREFIX
UUID_REGEX
UUID_VARIANT
UUID_VERSION
VERSION

Public Class Methods

prepended(base) click to toggle source
# File lib/bson/object_id/uuid_convertable.rb, line 33
def self.prepended(base)
  class << base
    prepend ClassMethods
  end
end

Public Instance Methods

to_uuid() click to toggle source
# File lib/bson/object_id/uuid_convertable.rb, line 9
def to_uuid
  [
    UUID_PREFIX + to_s[0..1],   # 6 digit prefix + first 2 oid digits
    to_s[2..5],                 # next 4 oid digits
    UUID_VERSION + to_s[6..8],  # 1 digit version(0x4) + next 3 oid digits
    UUID_VARIANT + to_s[9..11], # 1 digit variant(0b101) + 1 zero bit + next 3 oid digits
    to_s[12..23]                # last 12 oid digits
  ].join('-')
end