class ValidateMe::IntegerLimitValidations
Attributes
column[R]
Public Class Methods
call(base_class:, column: return nil unless column.type == :integer && column.limit.present?)
click to toggle source
# 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
new(column)
click to toggle source
# File lib/validate_me/integer_limit_validations.rb, line 11 def initialize column @column = column end
Public Instance Methods
validate(base_class)
click to toggle source
# 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
Private Instance Methods
maximum_value()
click to toggle source
# File lib/validate_me/integer_limit_validations.rb, line 31 def maximum_value (1 << column.limit * 8 - 1) - 1 end
minimum_value()
click to toggle source
# File lib/validate_me/integer_limit_validations.rb, line 35 def minimum_value -(maximum_value + 1) end