class StrongerParameters::DecimalConstraint
Public Class Methods
new(precision, scale)
click to toggle source
# File lib/stronger_parameters/constraints/decimal_constraint.rb, line 6 def initialize(precision, scale) @precision = precision @scale = scale @regex = /\A-?\d{1,#{precision - scale}}#{"(\\.\\d{1,#{scale}})?" if scale > 0}\Z/ end
Public Instance Methods
value(v)
click to toggle source
# File lib/stronger_parameters/constraints/decimal_constraint.rb, line 12 def value(v) match = v.to_s if match =~ @regex BigDecimal(match) else StrongerParameters::InvalidValue.new(v, "must be a decimal with precision #{@precision} and scale #{@scale}") end end