Class: LimitsValidator

Inherits:
ActiveModel::Validator
  • Object
show all
Includes:
HasFilters
Defined in:
app/validators/limits_validator.rb

Overview

Validator for limits Validates the maximum and minimum values of attributes

Instance Method Summary collapse

Methods included from HasFilters

#exclude_marked_for_destruction

Constructor Details

#initialize(options) ⇒ LimitsValidator

Returns a new instance of LimitsValidator.

Parameters:

  • options (Hash)

Options Hash (options):

  • :minimum (Integer)
  • :maximum (Integer)
  • :attribute (Symbol)
  • :exclude_marked_for_destruction (Boolean)


13
14
15
16
# File 'app/validators/limits_validator.rb', line 13

def initialize(options)
  super
  @options = options
end

Instance Method Details

#attributeSymbol

Returns:

  • (Symbol)


29
30
31
# File 'app/validators/limits_validator.rb', line 29

def attribute
  @attribute ||= options[:attribute]
end

#maximumInteger

Returns:

  • (Integer)


24
25
26
# File 'app/validators/limits_validator.rb', line 24

def maximum
  @maximum ||= options[:maximum]
end

#minimumInteger

Returns:

  • (Integer)


19
20
21
# File 'app/validators/limits_validator.rb', line 19

def minimum
  @minimum ||= options[:minimum]
end

#validate(record) ⇒ Object

Parameters:

  • record (ActiveRecord::Base)


34
35
36
37
38
39
# File 'app/validators/limits_validator.rb', line 34

def validate(record)
  return if record.send(attribute).nil?

  validate_minimum(record)
  validate_maximum(record)
end