class Rack::JsonSchema::Mock::ResponseGenerator
Public Class Methods
call(schema)
click to toggle source
Generates example response Hash from given schema @return [Hash] @example
Rack::JsonSchema::Mock::ResponseGenerator(schema) #=> { "id" => 1, "name" => "example" }
# File lib/rack/json_schema/mock.rb, line 61 def self.call(schema) schema.properties.inject({}) do |result, (key, value)| result.merge( key => case when !value.properties.empty? call(value) when !value.data["example"].nil? value.data["example"] when value.type.include?("null") nil when value.type.include?("array") [call(value.items)] else raise ExampleNotFound, "No example found for #{schema.pointer}/#{key}" end ) end end