Class: Dogtag::Id
- Inherits:
-
Object
- Object
- Dogtag::Id
- Defined in:
- lib/dogtag/id.rb
Constant Summary collapse
- SEQUENCE_MAP =
~(-1 << Dogtag::SEQUENCE_BITS) << Dogtag::SEQUENCE_SHIFT
- DATA_TYPE_MAP =
~(-1 << Dogtag::DATA_TYPE_BITS) << Dogtag::DATA_TYPE_SHIFT
- LOGICAL_SHARD_ID_MAP =
(~(-1 << Dogtag::LOGICAL_SHARD_ID_BITS)) << Dogtag::LOGICAL_SHARD_ID_SHIFT
- TIMESTAMP_MAP =
~(-1 << Dogtag::TIMESTAMP_BITS) << Dogtag::TIMESTAMP_SHIFT
Instance Attribute Summary collapse
-
#id ⇒ Object
readonly
Returns the value of attribute id.
Instance Method Summary collapse
- #custom_timestamp ⇒ Object
- #data_type ⇒ Object
-
#initialize(id) ⇒ Id
constructor
A new instance of Id.
- #logical_shard_id ⇒ Object
- #sequence ⇒ Object
- #timestamp ⇒ Object
Constructor Details
#initialize(id) ⇒ Id
Returns a new instance of Id.
10 11 12 |
# File 'lib/dogtag/id.rb', line 10 def initialize(id) @id = id end |
Instance Attribute Details
#id ⇒ Object (readonly)
Returns the value of attribute id.
8 9 10 |
# File 'lib/dogtag/id.rb', line 8 def id @id end |
Instance Method Details
#custom_timestamp ⇒ Object
14 15 16 |
# File 'lib/dogtag/id.rb', line 14 def (id & TIMESTAMP_MAP) >> Dogtag::TIMESTAMP_SHIFT end |
#data_type ⇒ Object
26 27 28 |
# File 'lib/dogtag/id.rb', line 26 def data_type (id & DATA_TYPE_MAP) >> Dogtag::DATA_TYPE_SHIFT end |
#logical_shard_id ⇒ Object
22 23 24 |
# File 'lib/dogtag/id.rb', line 22 def logical_shard_id (id & LOGICAL_SHARD_ID_MAP) >> Dogtag::LOGICAL_SHARD_ID_SHIFT end |
#sequence ⇒ Object
30 31 32 |
# File 'lib/dogtag/id.rb', line 30 def sequence (id & SEQUENCE_MAP) >> Dogtag::SEQUENCE_SHIFT end |
#timestamp ⇒ Object
18 19 20 |
# File 'lib/dogtag/id.rb', line 18 def @timestamp ||= Timestamp.new(, epoch: Dogtag::CUSTOM_EPOCH) end |