Sha256: 2d027551fdf1a9dd3cdb5f7ddf670dcde8003b353fc0479121e0a81c633fb9e6

Contents?: true

Size: 359 Bytes

Versions: 19

Compression:

Stored size: 359 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

19 entries across 19 versions & 1 rubygems

Version Path
lopata-0.1.32 lib/lopata/id.rb
lopata-0.1.31 lib/lopata/id.rb
lopata-0.1.30 lib/lopata/id.rb
lopata-0.1.29 lib/lopata/id.rb
lopata-0.1.28 lib/lopata/id.rb
lopata-0.1.27 lib/lopata/id.rb
lopata-0.1.26 lib/lopata/id.rb
lopata-0.1.25 lib/lopata/id.rb
lopata-0.1.24 lib/lopata/id.rb
lopata-0.1.23 lib/lopata/id.rb
lopata-0.1.22 lib/lopata/id.rb
lopata-0.1.21 lib/lopata/id.rb
lopata-0.1.20 lib/lopata/id.rb
lopata-0.1.19 lib/lopata/id.rb
lopata-0.1.18 lib/lopata/id.rb
lopata-0.1.17 lib/lopata/id.rb
lopata-0.1.16 lib/lopata/id.rb
lopata-0.1.15 lib/lopata/id.rb
lopata-0.1.14 lib/lopata/id.rb