Sha256: e002b80e9c0cce00b55b8e354fc28adab207269701fb039ee259148fac9ecdee

Contents?: true

Size: 381 Bytes

Versions: 7

Compression:

Stored size: 381 Bytes

Contents

module Lopata
  # @private
  module Id
    extend self

    def next(prefix = nil)
      id = "%d_%d" % [timestamp, seq_num]
      id = "%s_%s" % [prefix, id] if prefix
      id
    end

    def timestamp
      @timestamp ||= Time.now.strftime("%Y%m%d%H%M%S")
    end

    def seq_num
      @seq_num ||= 0
      @seq_num += 1
      @seq_num
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
lopata-0.1.13 lib/lopata/id.rb
lopata-0.1.12 lib/lopata/id.rb
lopata-0.1.11 lib/lopata/id.rb
lopata-0.1.10 lib/lopata/id.rb
lopata-0.1.9 lib/lopata/id.rb
lopata-0.1.8 lib/lopata/id.rb
lopata-0.1.7 lib/lopata/id.rb