module Swagger::Api
Constants
- VERSION
Public Class Methods
config()
click to toggle source
# File lib/swagger/api.rb, line 30 def self.config @yaml_config ||= JSON.parse(YAML.load_file("#{Rails.root.to_s}/config/swagger.yml").to_json, object_class: OpenStruct) end
create()
click to toggle source
# File lib/swagger/api.rb, line 14 def self.create @config ||= { openapi: '3.0.0', security: [{api_key: []}], info: info, servers: [{url: server_url}], paths: Paths.new(controllers: config.controllers).create, components: { responses: responses, schemas: Components.new(controllers: config.controllers).create, requestBodies: RequestBodies.new(controllers: config.controllers).create, securitySchemes: security_schemes, }, } end
info()
click to toggle source
# File lib/swagger/api.rb, line 96 def self.info { version: config.info.version, title: config.info.title, description: config.info.description, } end
json()
click to toggle source
# File lib/swagger/api.rb, line 10 def self.json create.to_json end
prettify()
click to toggle source
# File lib/swagger/api.rb, line 6 def self.prettify JSON.pretty_generate(JSON.parse(json)) end
responses()
click to toggle source
# File lib/swagger/api.rb, line 44 def self.responses { NotFound: { description: "The specified resource was not found", content: { 'application/json; charset=utf-8' => { schema: { type: 'string', example: 'Not Found' } } } }, Unauthorized: { description: "Unauthorized", content: { 'application/json; charset=utf-8' => { schema: { type: 'string', example: 'Not Authorized' } } } }, BadRequest: { description: "Bad Request", content: { 'application/json; charset=utf-8' => { schema: { example: ['The field name is invalid.', 'The id must be present'], type: 'array', items: { type: 'string' } } } } }, Unexpected: { description: "Unexpected Error", content: { 'application/json; charset=utf-8' => { schema: { type: 'string', example: 'Unexpected Error' } } } } } end
security_schemes()
click to toggle source
# File lib/swagger/api.rb, line 34 def self.security_schemes { api_key: { type: 'apiKey', name: 'Authorization', in: 'header' } } end
server_url()
click to toggle source
# File lib/swagger/api.rb, line 104 def self.server_url config.servers.send(Rails.env).url end