Sha256: 8af3adf2de73c5fb73ad667ef573d575ed22eed0ed11024ace7c538af0d24ec0

Contents?: true

Size: 471 Bytes

Versions: 5

Compression:

Stored size: 471 Bytes

Contents

module Firefly
  class CodeFactory
    include DataMapper::Resource

    property :id,    Serial
    property :count, Integer, :default => 0

    # Returns the next auto increment value and updates
    # the counter
    def self.next_code!
      code = nil

      Firefly::CodeFactory.transaction do
        c = Firefly::CodeFactory.first
        code = Firefly::Base62.encode(c.count + 1)
        c.update(:count => c.count + 1)
      end

      code
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
firefly-1.5.0 lib/firefly/code_factory.rb
firefly-1.4.1 lib/firefly/code_factory.rb
firefly-1.4.0 lib/firefly/code_factory.rb
firefly-1.3.1 lib/firefly/code_factory.rb
firefly-1.3.0 lib/firefly/code_factory.rb