class Apipie::Params::Descriptor::JsonSchema
Public Class Methods
build(*args)
click to toggle source
# File lib/apipie/params/descriptor.rb, line 62 def self.build(*args) # this is an abstract class nil end
inherited(subclass)
click to toggle source
# File lib/apipie/params/descriptor.rb, line 58 def self.inherited(subclass) Base.inherited(subclass) end
Public Instance Methods
json_schema()
click to toggle source
# File lib/apipie/params/descriptor.rb, line 67 def json_schema {'description' => description} end
validate!(param_description, value)
click to toggle source
# File lib/apipie/params/descriptor.rb, line 72 def validate!(param_description, value) encapsulated_value = {'root' => value} encapsulated_schema = { 'type' => 'object', 'properties' => {'root' => json_schema} } require 'json-schema' errors = JSON::Validator.fully_validate(encapsulated_schema, encapsulated_value, :errors_as_objects => true) if errors.any? raise invalid_param_error(param_description, value, errors) else return true end end