4
5
6
7
8
9
10
11
12
13
|
# File 'lib/json-schema/attributes/divisibleby.rb', line 4
def self.validate(current_schema, data, fragments, validator, options = {})
if data.is_a?(Numeric)
if current_schema.schema['divisibleBy'] == 0 ||
current_schema.schema['divisibleBy'] == 0.0 ||
(BigDecimal.new(data.to_s) % BigDecimal.new(current_schema.schema['divisibleBy'].to_s)).to_f != 0
message = "The property '#{build_fragment(fragments)}' was not divisible by #{current_schema.schema['divisibleBy']}"
raise ValidationError.new(message, fragments, current_schema)
end
end
end
|