Class: Sinatra::SwaggerExposer::Processing::SwaggerParameterProcessor

Inherits:
Object
  • Object
show all
Includes:
SwaggerParameterHelper
Defined in:
lib/sinatra/swagger-exposer/processing/swagger-parameter-processor.rb

Overview

Process the parameters for validation and enrichment

Constant Summary

Constants included from SwaggerParameterHelper

SwaggerParameterHelper::HOW_TO_PASS, SwaggerParameterHelper::HOW_TO_PASS_BODY, SwaggerParameterHelper::HOW_TO_PASS_HEADER, SwaggerParameterHelper::HOW_TO_PASS_PATH, SwaggerParameterHelper::HOW_TO_PASS_QUERY, SwaggerParameterHelper::PARAMS_DEFAULT, SwaggerParameterHelper::PARAMS_EXAMPLE, SwaggerParameterHelper::PARAMS_EXCLUSIVE_MAXIMUM, SwaggerParameterHelper::PARAMS_EXCLUSIVE_MINIMUM, SwaggerParameterHelper::PARAMS_FORMAT, SwaggerParameterHelper::PARAMS_LIST, SwaggerParameterHelper::PARAMS_MAXIMUM, SwaggerParameterHelper::PARAMS_MAX_LENGTH, SwaggerParameterHelper::PARAMS_MINIMUM, SwaggerParameterHelper::PARAMS_MIN_LENGTH, SwaggerParameterHelper::PRIMITIVE_TYPES, SwaggerParameterHelper::PRIMITIVE_TYPES_FOR_NON_BODY, SwaggerParameterHelper::TYPE_ARRAY, SwaggerParameterHelper::TYPE_BOOLEAN, SwaggerParameterHelper::TYPE_BYTE, SwaggerParameterHelper::TYPE_DATE, SwaggerParameterHelper::TYPE_DATE_TIME, SwaggerParameterHelper::TYPE_DOUBLE, SwaggerParameterHelper::TYPE_FILE, SwaggerParameterHelper::TYPE_FLOAT, SwaggerParameterHelper::TYPE_INTEGER, SwaggerParameterHelper::TYPE_LONG, SwaggerParameterHelper::TYPE_NUMBER, SwaggerParameterHelper::TYPE_PASSWORD, SwaggerParameterHelper::TYPE_STRING

Instance Method Summary collapse

Constructor Details

#initialize(how_to_pass, value_processor) ⇒ SwaggerParameterProcessor

Initialize

Parameters:



19
20
21
22
23
# File 'lib/sinatra/swagger-exposer/processing/swagger-parameter-processor.rb', line 19

def initialize(how_to_pass, value_processor)
  @how_to_pass = how_to_pass
  @value_processor = value_processor
  @useful = @value_processor.useful?
end

Instance Method Details

#run(app, parsed_body) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/sinatra/swagger-exposer/processing/swagger-parameter-processor.rb', line 31

def run(app, parsed_body)
  case @how_to_pass
    when HOW_TO_PASS_PATH
      # can't validate
    when HOW_TO_PASS_QUERY
      @value_processor.validate(app.params)
    when HOW_TO_PASS_HEADER
      @value_processor.validate(app.headers)
    when HOW_TO_PASS_BODY
      @value_processor.validate(parsed_body || {})
  end
end

#useful?TrueClass

Is the processor useful

Returns:

  • (TrueClass)


27
28
29
# File 'lib/sinatra/swagger-exposer/processing/swagger-parameter-processor.rb', line 27

def useful?
  @useful
end