Module: Lore::Validation
- Included in:
- Model
- Defined in:
- lib/lore/validation.rb,
lib/lore/validation/reason.rb,
lib/lore/validation/message.rb,
lib/lore/validation/type_validator.rb,
lib/lore/validation/parameter_validator.rb
Defined Under Namespace
Classes: Error_Message, Message, Parameter_Validator, Reason, Type_Validator
Instance Method Summary
collapse
Instance Method Details
#get_constraints ⇒ Object
50
51
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/lore/validation.rb', line 50
def get_constraints
@constraints = Hash.new if @constraints.nil?
if !@is_a_klasses.nil? then
@is_a_klasses.each_pair { |foreign_key, klass|
@constraints.update(klass.get_constraints)
}
end
@constraints
end
|
#validates(attrib, constraints) ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/lore/validation.rb', line 7
def validates(attrib, constraints)
if attrib.kind_of? Clause then
attrib_split = attrib.to_s.split('.')
table = attrib_split[0..-2]
attrib = attrib_split[-1]
else
table = get_table_name
end
attrib = attrib.intern unless attrib.instance_of? Symbol
@constraints = Hash.new if @constraints.nil?
@constraints[table] = Hash.new if @constraints[table].nil?
@constraints[table][attrib] = Hash.new
if constraints[:mandatory] then
add_explicit_attribute(table, attrib.to_s)
end
if constraints[:type] then
@constraints[table][attrib][:type] = constraints[:type]
end
if constraints[:format] then
@constraints[table][attrib][:format] = constraints[:format]
end
if constraints[:length] then
if constraints[:length].kind_of? Range then
@constraints[table][attrib][:minlength] = constraints[:length].first
@constraints[table][attrib][:maxlength] = constraints[:length].last
else
@constraints[table][attrib][:minlength] = constraints[:length]
@constraints[table][attrib][:maxlength] = constraints[:length]
end
end
if constraints[:minlength] then
@constraints[table][attrib][:minlength] = constraints[:minlength]
end
if constraints[:maxlength] then
@constraints[table][attrib][:maxlength] = constraints[:maxlength]
end
end
|