Class: DataMapper::Matchers::ValidateLengthOf
Instance Method Summary
collapse
#description, #failure_message, #initialize, #negative_failure_message, set_default_msg_reg, set_validation_subject, #with_message
Instance Method Details
#equals(equals) ⇒ Object
46
47
48
|
# File 'lib/dm/matchers/validate_length_of.rb', line 46
def equals(equals)
is(equals)
end
|
#in(range) ⇒ Object
37
38
39
|
# File 'lib/dm/matchers/validate_length_of.rb', line 37
def in(range)
within(range)
end
|
#is(is) ⇒ Object
41
42
43
44
|
# File 'lib/dm/matchers/validate_length_of.rb', line 41
def is(is)
@is = is
self
end
|
#length(maximum) ⇒ Object
19
20
21
|
# File 'lib/dm/matchers/validate_length_of.rb', line 19
def length(maximum)
maximum(maximum)
end
|
#matches?(model) ⇒ Boolean
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
# File 'lib/dm/matchers/validate_length_of.rb', line 50
def matches?(model)
model_class = model.is_a?(Class) ? model : model.class
validators = model_class.validators.contexts[:default]
validators = validators.select do |validator|
validator.is_a? DataMapper::Validations::LengthValidator and validator.field_name == @property
end
validator = validators.last
return false unless validator
if @maximum
return validator.options[:maximum] == @maximum
elsif @minimum
return validator.options[:minimum] == @minimum
elsif @within
return validator.options[:within] == @within
elsif @is
return validator.options[:is] == @is
else
return false
end
end
|
#max(maximum) ⇒ Object
15
16
17
|
# File 'lib/dm/matchers/validate_length_of.rb', line 15
def max(maximum)
maximum(maximum)
end
|
#maximum(maximum) ⇒ Object
10
11
12
13
|
# File 'lib/dm/matchers/validate_length_of.rb', line 10
def maximum(maximum)
@maximum = maximum
self
end
|
#min(minimum) ⇒ Object
28
29
30
|
# File 'lib/dm/matchers/validate_length_of.rb', line 28
def min(minimum)
minimum(minimum)
end
|
#minimum(minimum) ⇒ Object
23
24
25
26
|
# File 'lib/dm/matchers/validate_length_of.rb', line 23
def minimum(minimum)
@minimum = minimum
self
end
|
#within(range) ⇒ Object
32
33
34
35
|
# File 'lib/dm/matchers/validate_length_of.rb', line 32
def within(range)
@within = range
self
end
|