class Datev::DecimalField

Public Instance Methods

output(value, _context=nil) click to toggle source
# File lib/datev/field/decimal_field.rb, line 20
def output(value, _context=nil)
  ("%.#{scale}f" % value).sub('.',',') if value
end
precision() click to toggle source
# File lib/datev/field/decimal_field.rb, line 3
def precision
  options[:precision]
end
scale() click to toggle source
# File lib/datev/field/decimal_field.rb, line 7
def scale
  options[:scale]
end
validate!(value) click to toggle source
Calls superclass method Datev::Field#validate!
# File lib/datev/field/decimal_field.rb, line 11
def validate!(value)
  super

  if value
    raise ArgumentError.new("Value given for field '#{name}' is not a Decimal") unless value.is_a?(Numeric)
    raise ArgumentError.new("Value '#{value}' for field '#{name}' is too long") if precision && value.to_s.length > precision+1
  end
end