Sha256: 9dbf06ebaa2eecc2901763d53d49ba6d697391b273b7441592d54c0642641f5b

Contents?: true

Size: 880 Bytes

Versions: 1

Compression:

Stored size: 880 Bytes

Contents

# =XMPP4R - XMPP Library for Ruby
# License:: Ruby's license (see the LICENSE file) or GNU GPL, at your option.
# Website::http://xmpp4r.github.io

require 'singleton'

module Jabber
  ##
  # 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 IdGenerator
    include Singleton

    def initialize
      @last_id = 0
    end

    ##
    # Generate an unique ID.
    #
    # This is kind of boring this way, as it just counts up
    # a number. Maybe something more random somewhen...
    def IdGenerator.generate_id
      IdGenerator.instance.generate_id
    end

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

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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
xmpp4r-0.5.6 lib/xmpp4r/idgenerator.rb