Module: RUUID::Generator
- Included in:
- RUUID::Generators::V4
- Defined in:
- lib/ruuid/generator.rb
Overview
Generator is responsible for generating new UUIDs. Implementors can include and override methods to provide new UUID variants.
Defined Under Namespace
Modules: ClassMethods
Instance Attribute Summary collapse
-
#source ⇒ Object
ClassMethods.
-
#version ⇒ Object
ClassMethods.
Instance Method Summary collapse
Instance Attribute Details
#source ⇒ Object
ClassMethods
27 28 29 |
# File 'lib/ruuid/generator.rb', line 27 def source @source end |
#version ⇒ Object
ClassMethods
27 28 29 |
# File 'lib/ruuid/generator.rb', line 27 def version @version end |
Instance Method Details
#generate ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'lib/ruuid/generator.rb', line 33 def generate raw_bytes.tap { |bytes| # Mask version bytes[6] = (bytes[6] & 0x0f) | (version << 4) # Mask variant bytes[8] = (bytes[8] & 0x3f) | 0x80 }.collect(&:chr).join end |
#initialize ⇒ Object
29 30 31 |
# File 'lib/ruuid/generator.rb', line 29 def initialize @version = 0 end |