Class: ValidateMe::IntegerLimitValidations

Inherits:
Object
  • Object
show all
Defined in:
lib/validate_me/integer_limit_validations.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(column) ⇒ IntegerLimitValidations

Returns a new instance of IntegerLimitValidations.



11
12
13
# File 'lib/validate_me/integer_limit_validations.rb', line 11

def initialize column
  @column = column
end

Class Method Details

.call(base_class:, column:) ⇒ Object



5
6
7
8
9
# File 'lib/validate_me/integer_limit_validations.rb', line 5

def self.call base_class:, column:
  return nil unless column.type == :integer && column.limit.present?

  new(column).validate base_class
end

Instance Method Details

#validate(base_class) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/validate_me/integer_limit_validations.rb', line 15

def validate base_class
  base_class.send(
    :validates,
    column.name,
    numericality: {
      greater_than: minimum_value,
      less_than:    maximum_value
    },
    allow_nil: true
  )
end