Module: ValidateMe

Defined in:
lib/validate_me.rb,
lib/validate_me/version.rb,
lib/validate_me/presence_validations.rb,
lib/validate_me/uniqueness_validations.rb,
lib/validate_me/integer_limit_validations.rb,
lib/validate_me/varchar_limit_validations.rb

Defined Under Namespace

Classes: Error, IntegerLimitValidations, PresenceValidations, UniquenessValidations, VarcharLimitValidations

Constant Summary collapse

SKIPPED_COLUMNS =
["id"].freeze
VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.included(base_class) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
# 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