module UniqIdentifier

Constants

MAJOR
MINOR
PATCH
VERSION

Public Class Methods

uniq_identifier_generator() click to toggle source
# File lib/uniq_identifier.rb, line 12
def uniq_identifier_generator
  generator = @uniq_identifier_generator
  if generator.nil? && superclass.respond_to?(:uniq_identifier_generator)
    superclass.uniq_identifier_generator
  elsif generator == :default
    UniqIdentifier.configuration.generator
  else
    generator
  end
end

Public Instance Methods

uniq_identifier(auto: true, validate: true, generator: :default) click to toggle source
# File lib/uniq_identifier.rb, line 8
def uniq_identifier(auto: true, validate: true, generator: :default)
  @uniq_identifier_generator = generator

  class << self
    def uniq_identifier_generator
      generator = @uniq_identifier_generator
      if generator.nil? && superclass.respond_to?(:uniq_identifier_generator)
        superclass.uniq_identifier_generator
      elsif generator == :default
        UniqIdentifier.configuration.generator
      else
        generator
      end
    end
  end

  if auto
    before_validation :set_uniq_identifier
    include Hook
  end

  if validate
    validates :uuid, presence: true, uniqueness: true
  end
end