module Sinatra::Schema
Constants
- VERSION
Public Class Methods
registered(app)
click to toggle source
# File lib/sinatra/schema.rb, line 21 def self.registered(app) app.helpers ParamParsing app.helpers ParamValidation app.error(Sinatra::Schema::BadRequest) do |e| halt(400, MultiJson.encode(error: e.message)) end app.error(Sinatra::Schema::BadParams) do |e| halt(422, MultiJson.encode(error: e.message)) end app.get "/schema" do content_type("application/schema+json") response.headers["Cache-Control"] = "public, max-age=3600" MultiJson.encode(JsonSchema.dump(app.schema_root), pretty: true) end end
Public Instance Methods
resource(path_or_id) { |spec| ... }
click to toggle source
# File lib/sinatra/schema.rb, line 44 def resource(path_or_id) spec = DSL::Resources.new(self, path_or_id) yield(spec) schema_root.add_resource(spec.resource) end
schema_root()
click to toggle source
# File lib/sinatra/schema.rb, line 40 def schema_root Root.instance end