class Mv::Core::Validation::Uniqueness

Attributes

index_name[R]

Public Class Methods

new(table_name, column_name, opts) click to toggle source
Calls superclass method Mv::Core::Validation::Base::new
# File lib/mv/core/validation/uniqueness.rb, line 13
def initialize(table_name, column_name, opts)
  opts = opts == true ? {} : opts

  super(table_name, column_name, opts)

  @index_name = opts.with_indifferent_access[:index_name] || default_index_name
end

Public Instance Methods

to_a() click to toggle source
Calls superclass method Mv::Core::Validation::Base#to_a
# File lib/mv/core/validation/uniqueness.rb, line 21
def to_a
  super + [index_name.to_s]
end

Protected Instance Methods

available_as() click to toggle source
Calls superclass method Mv::Core::Validation::Base#available_as
# File lib/mv/core/validation/uniqueness.rb, line 27
def available_as
  super + [:index]
end
default_as() click to toggle source
# File lib/mv/core/validation/uniqueness.rb, line 31
def default_as
  :index
end
default_index_name() click to toggle source
# File lib/mv/core/validation/uniqueness.rb, line 35
def default_index_name
  "idx_mv_#{table_name}_#{column_name}_uniq" if index?
end
default_message() click to toggle source
# File lib/mv/core/validation/uniqueness.rb, line 39
def default_message
  'is not unique'
end

Private Instance Methods

index?() click to toggle source
# File lib/mv/core/validation/uniqueness.rb, line 45
def index?
  as.to_sym == :index
end