module ValidateMe
Constants
- SKIPPED_COLUMNS
- VERSION
Attributes
index[R]
Public Class Methods
included(base_class)
click to toggle source
# File lib/validate_me.rb, line 11 def self.included base_class base_class.columns.each do |column| next if ::ValidateMe::SKIPPED_COLUMNS.include? column.name ::ValidateMe::PresenceValidations.call base_class: base_class, column: column ::ValidateMe::VarcharLimitValidations.call base_class: base_class, column: column ::ValidateMe::IntegerLimitValidations.call base_class: base_class, column: column end indexes = ::ActiveRecord::Base.connection.indexes base_class.table_name ::ValidateMe::UniquenessValidations.call base_class: base_class, indexes: indexes end
new(index)
click to toggle source
# File lib/validate_me/uniqueness_validations.rb, line 13 def initialize index @index = index end
Public Instance Methods
validate(base_class)
click to toggle source
# File lib/validate_me/uniqueness_validations.rb, line 17 def validate base_class columns = index.columns if columns.one? base_class.send :validates, columns.first, uniqueness: true else base_class.send :validates, columns.shift, uniqueness: { scope: columns } end end