Class: Jabber::IdGenerator

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/vendor/xmpp4r/lib/xmpp4r/idgenerator.rb

Overview

The Jabber::IdGenerator class generates unique IDs for use in XMMP stanzas. Jabber::IdGenerator includes the Singleton Mixin, usage as following:

Jabber::IdGenerator.generate_id
  => "23"

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeIdGenerator

Returns a new instance of IdGenerator.



17
18
19
# File 'lib/vendor/xmpp4r/lib/xmpp4r/idgenerator.rb', line 17

def initialize
  @last_id = 0
end

Class Method Details

.generate_idObject

Generate an unique ID.

This is kind of boring this way, as it just counts up a number. Maybe something more random somewhen…



26
27
28
# File 'lib/vendor/xmpp4r/lib/xmpp4r/idgenerator.rb', line 26

def IdGenerator.generate_id
  IdGenerator.instance.generate_id
end

Instance Method Details

#generate_idObject



30
31
32
33
34
35
# File 'lib/vendor/xmpp4r/lib/xmpp4r/idgenerator.rb', line 30

def generate_id
  @last_id += 1
  timefrac = Time.new.to_f.to_s.split(/\./, 2).last[-3..-1]

  "#{@last_id}#{timefrac}"
end