# File lib/apipie/validator.rb, line 208 def description "Has to be hash." end
# File lib/apipie/validator.rb, line 204 def error "Has to be hash." end
# File lib/apipie/validator.rb, line 219 def expected_type 'hash' end
# File lib/apipie/validator.rb, line 212 def param(param_name, *args, &block) param_description = Apipie::ParamDescription.new(param_name, *args, &block) param_description.parent = self.param_description @hash_params_ordered << param_description @hash_params[param_name.to_sym] = param_description end
# File lib/apipie/validator.rb, line 195 def validate(value) if @hash_params @hash_params.each do |k, p| p.validate(value[k]) if value.has_key?(k) || p.required end end return true end
# File lib/apipie/validator.rb, line 182 def self.build(param_description, argument, options, block) self.new(param_description, block) if block.is_a?(Proc) && block.arity <= 0 && argument == Hash end
# File lib/apipie/validator.rb, line 186 def initialize(param_description, argument) super(param_description) @proc = argument @hash_params_ordered = [] @hash_params = {} self.instance_exec(&@proc) end