Class: Datev::IntegerField
- Inherits:
-
Field
- Object
- Field
- Datev::IntegerField
show all
- Defined in:
- lib/datev/field/integer_field.rb
Instance Attribute Summary
Attributes inherited from Field
#block, #name, #options
Instance Method Summary
collapse
Methods inherited from Field
#initialize, #required?
Constructor Details
This class inherits a constructor from Datev::Field
Instance Method Details
#limit ⇒ Object
3
4
5
|
# File 'lib/datev/field/integer_field.rb', line 3
def limit
options[:limit]
end
|
#maximum ⇒ Object
7
8
9
|
# File 'lib/datev/field/integer_field.rb', line 7
def maximum
options[:maximum]
end
|
#minimum ⇒ Object
11
12
13
|
# File 'lib/datev/field/integer_field.rb', line 11
def minimum
options[:minimum]
end
|
#output(value, _context = nil) ⇒ Object
26
27
28
|
# File 'lib/datev/field/integer_field.rb', line 26
def output(value, _context=nil)
value.to_s if value
end
|
#validate!(value) ⇒ Object
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/datev/field/integer_field.rb', line 15
def validate!(value)
super
if value
raise ArgumentError.new("Value given for field '#{name}' is not an Integer") unless value.is_a?(Integer)
raise ArgumentError.new("Value '#{value}' for field '#{name}' is too long") if limit && value.to_s.length > limit
raise ArgumentError.new("Value '#{value}' for field '#{name}' is too large") if maximum && value > maximum
raise ArgumentError.new("Value '#{value}' for field '#{name}' is too small") if minimum && value < minimum
end
end
|