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