Module: MessageStore::ID

Defined in:
lib/message_store/id.rb

Constant Summary collapse

Error =
Class.new(RuntimeError)

Class Method Summary collapse

Class Method Details

.compound_id(ids) ⇒ Object



21
22
23
24
25
26
27
# File 'lib/message_store/id.rb', line 21

def self.compound_id(ids)
  if ids.empty?
    raise Error, "IDs must not be omitted"
  end

  ids.join(compound_id_separator)
end

.compound_id_separatorObject



5
6
7
# File 'lib/message_store/id.rb', line 5

def self.compound_id_separator
  '+'
end

.get_cardinal_id(id) ⇒ Object



29
30
31
# File 'lib/message_store/id.rb', line 29

def self.get_cardinal_id(id)
  parse(id).first
end

.id(id) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/message_store/id.rb', line 9

def self.id(id)
  if id.is_a?(Array)
    id = compound_id(id)
  else
    if id.nil?
      raise Error, "ID must not be omitted"
    end
  end

  id
end

.parse(id) ⇒ Object



33
34
35
36
37
38
39
# File 'lib/message_store/id.rb', line 33

def self.parse(id)
  if id.nil?
    raise Error, "ID must not be omitted"
  end

  id.split(compound_id_separator)
end