Module: SequenceGenerator::Extender

Defined in:
lib/sequence_generator/extender.rb

Instance Method Summary collapse

Instance Method Details

#acts_as_sequenced(options = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/sequence_generator/extender.rb', line 4

def acts_as_sequenced(options = {})
  include SequenceGenerator::Generator

  [:purpose, :scope, :column].each do |option|
    raise StandardError.new("#{option} option needs to be provided to acts_as_sequenced") unless options[option].present?
  end

  options[:validation_options] ||= {on: :create}
  options[:validation_options][:on] ||= :create
  before_validation options[:validation_options] do
    generate_sequence(options)
  end
end