ActsAsSequence

Emulates database sequences for MySQL. It is useful when you want to have a unique value for an unsaved object.

Installation

gem ‘acts_as_sequence’

Example

> rails g model Sequence uniq_id_order:integer

app/models/sequence.rb:

class Sequence < ActiveRecord::Base
  acts_as_sequencer
end

class Order < ActiveRecord::Base
  acts_as_sequenced :uniq_id, Sequence
end

Following tests pass:

Order.new.uniq_id.should == 0
Order.new.uniq_id.should == 1
Sequence.next_sequence_value(:uniq_id).should == 2