lib/apipie/validator.rb in apipie-rails-0.5.8 vs lib/apipie/validator.rb in apipie-rails-0.5.9
- old
+ new
@@ -396,10 +396,31 @@
def description
nil
end
end
+ class DecimalValidator < BaseValidator
+
+ def validate(value)
+ self.class.validate(value)
+ end
+
+ def self.build(param_description, argument, options, block)
+ if argument == :decimal
+ self.new(param_description)
+ end
+ end
+
+ def description
+ "Must be a decimal number."
+ end
+
+ def self.validate(value)
+ value.to_s =~ /\A^[-+]?[0-9]+([,.][0-9]+)?\Z$/
+ end
+ end
+
class NumberValidator < BaseValidator
def validate(value)
self.class.validate(value)
end
@@ -410,9 +431,13 @@
end
end
def description
"Must be a number."
+ end
+
+ def expected_type
+ 'numeric'
end
def self.validate(value)
value.to_s =~ /\A(0|[1-9]\d*)\Z$/
end