module WeakSwaggerParameters::Controller
Public Instance Methods
doc_components_for(docs_section)
click to toggle source
# File lib/weak_swagger_parameters/controller.rb, line 63 def doc_components_for(docs_section) doc_components = [] ObjectSpace.each_object(Class) do |klass| doc_components << klass if in_docs_section?(klass, docs_section) end doc_components end
ensure_loaded()
click to toggle source
# File lib/weak_swagger_parameters/controller.rb, line 71 def ensure_loaded Rails.application.eager_load! if !Rails.configuration.eager_load || !Rails.configuration.cache_classes end
handle_param_validation_error(e)
click to toggle source
# File lib/weak_swagger_parameters/controller.rb, line 57 def handle_param_validation_error(e) render json: { message: e.message }, status: 400 end
in_docs_section?(klass, docs_section)
click to toggle source
# File lib/weak_swagger_parameters/controller.rb, line 75 def in_docs_section?(klass, docs_section) klass.methods.include?(:in_doc_section?) && klass.respond_to?(:in_doc_section?) && klass.in_doc_section?(docs_section) end
render_docs(docs_section)
click to toggle source
# File lib/weak_swagger_parameters/controller.rb, line 52 def render_docs(docs_section) ensure_loaded render json: Swagger::Blocks.build_root_json(doc_components_for(docs_section)) end