class Idcf::JsonHyperSchema::Validation
json-hyper-schema validation
Attributes
add_validation[R]
Public Class Methods
register_format(name, validator_proc)
click to toggle source
# File lib/idcf/json_hyper_schema/validation.rb, line 14 def register_format(name, validator_proc) @add_validation ||= {} @add_validation[name] = validator_proc self end
reset_format()
click to toggle source
# File lib/idcf/json_hyper_schema/validation.rb, line 9 def reset_format @add_validation = {} self end
validations()
click to toggle source
# File lib/idcf/json_hyper_schema/validation.rb, line 20 def validations @add_validation ||= {} custom_validations.merge(@add_validation) end
Protected Class Methods
custom_validations()
click to toggle source
# File lib/idcf/json_hyper_schema/validation.rb, line 27 def custom_validations { 'ipv4_cidr' => lambda do |data| ip_check(data, JsonSchema::Validator::IPV4_PATTERN) end, 'ipv6_cidr' => lambda do |data| ip_check(data, JsonSchema::Validator::IPV6_PATTERN) end, 'integer' => lambda do |data| data =~ /^[0-9]+$/ end } end
ip_check(data, pattern)
click to toggle source
# File lib/idcf/json_hyper_schema/validation.rb, line 41 def ip_check(data, pattern) list = data.split('/') return false unless list.size == 2 return false unless list[0] =~ pattern list[1] =~ /^[0-9]*$/ end