Class: Validatable::ValidatesLengthOf

Inherits:
ValidationBase show all
Defined in:
lib/validates_length_of.rb

Overview

:nodoc:

Instance Attribute Summary collapse

Attributes inherited from ValidationBase

#message

Instance Method Summary collapse

Constructor Details

#initialize(attribute, minimum, maximum, message) ⇒ ValidatesLengthOf

Returns a new instance of ValidatesLengthOf.



4
5
6
7
8
# File 'lib/validates_length_of.rb', line 4

def initialize(attribute, minimum, maximum, message)
  self.minimum = minimum
  self.maximum = maximum
  super attribute, message
end

Instance Attribute Details

#attributeObject

Returns the value of attribute attribute.



3
4
5
# File 'lib/validates_length_of.rb', line 3

def attribute
  @attribute
end

#maximumObject

Returns the value of attribute maximum.



3
4
5
# File 'lib/validates_length_of.rb', line 3

def maximum
  @maximum
end

#minimumObject

Returns the value of attribute minimum.



3
4
5
# File 'lib/validates_length_of.rb', line 3

def minimum
  @minimum
end

Instance Method Details

#valid?(instance) ⇒ Boolean

Returns:

  • (Boolean)


10
11
12
13
14
15
16
# File 'lib/validates_length_of.rb', line 10

def valid?(instance)
  valid = true
  value = instance.send(self.attribute) || ""
  valid &&= value.length <= maximum unless maximum.nil? 
  valid &&= value.length >= minimum unless minimum.nil?
  valid
end