Module: Grape::Validations::ParamsDocumentation

Included in:
ParamsScope
Defined in:
lib/grape/validations/params_documentation.rb

Overview

Documents parameters of an endpoint. If documentation isn’t needed (for instance, it is an internal API), the class only cleans up attributes to avoid junk in RAM.

Defined Under Namespace

Classes: TypeCache

Instance Method Summary collapse

Instance Method Details

#document_params(attrs, validations, type = nil, values = nil, except_values = nil) ⇒ Object



9
10
11
12
13
14
15
16
# File 'lib/grape/validations/params_documentation.rb', line 9

def document_params(attrs, validations, type = nil, values = nil, except_values = nil)
  return validations.except!(:desc, :description, :documentation) if @api.inheritable_setting.namespace_inheritable[:do_not_document]

  documented_attrs = attrs.each_with_object({}) do |name, memo|
    memo[full_name(name)] = extract_details(validations, type, values, except_values)
  end
  @api.inheritable_setting.namespace_stackable[:params] = documented_attrs
end