class Swaggable::ApiDefinition
Public Class Methods
from_grape_api(grape)
click to toggle source
# File lib/swaggable/api_definition.rb, line 40 def self.from_grape_api grape grape_adapter.import(grape, new) end
grape_adapter()
click to toggle source
# File lib/swaggable/api_definition.rb, line 44 def self.grape_adapter @grape_adapter ||= Swaggable::GrapeAdapter.new end
new(&block)
click to toggle source
# File lib/swaggable/api_definition.rb, line 15 def initialize &block configure(&block) if block_given? end
Public Instance Methods
configure(&block)
click to toggle source
# File lib/swaggable/api_definition.rb, line 48 def configure &block ForwardingDsl.run(self, &block) self end
endpoints(&block)
click to toggle source
# File lib/swaggable/api_definition.rb, line 19 def endpoints &block ForwardingDsl.run( @endpoints ||= build_endpoints, &block ) end
used_schemas()
click to toggle source
# File lib/swaggable/api_definition.rb, line 30 def used_schemas endpoints.inject([]) do |acc, endpoint| endpoint.parameters.each do |parameter| acc << parameter.schema unless parameter.schema.empty? end acc.uniq end.freeze end
Private Instance Methods
build_endpoints()
click to toggle source
# File lib/swaggable/api_definition.rb, line 55 def build_endpoints MiniObject::IndexedList.new.tap do |l| l.build { EndpointDefinition.new } l.key {|e| "#{e.verb.to_s.upcase} #{e.path}" } end end