module SequenceGenerator::Extender

Public Instance Methods

acts_as_sequenced(options = {}) click to toggle source
# 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