Class: Sinatra::SwaggerExposer::Processing::SwaggerArrayValueProcessor

Inherits:
SwaggerBaseValueProcessor show all
Includes:
SwaggerParameterHelper
Defined in:
lib/sinatra/swagger-exposer/processing/swagger-array-value-processor.rb

Overview

Validate arrays

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 Attribute Summary collapse

Attributes inherited from SwaggerBaseValueProcessor

#name, #required

Instance Method Summary collapse

Methods inherited from SwaggerBaseValueProcessor

#process

Constructor Details

#initialize(name, required, processor_for_values) ⇒ SwaggerArrayValueProcessor

Initialize

Parameters:



22
23
24
25
# File 'lib/sinatra/swagger-exposer/processing/swagger-array-value-processor.rb', line 22

def initialize(name, required, processor_for_values)
  super(name, required, nil)
  @processor_for_values = processor_for_values
end

Instance Attribute Details

#processor_for_valuesObject (readonly)

Returns the value of attribute processor_for_values.



16
17
18
# File 'lib/sinatra/swagger-exposer/processing/swagger-array-value-processor.rb', line 16

def processor_for_values
  @processor_for_values
end

Instance Method Details

#useful?Boolean

Returns:

  • (Boolean)


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

def useful?
  true
end

#validate_value(value) ⇒ Object



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

def validate_value(value)
  if value
    if value.is_a? Array
      value.collect { |i| @processor_for_values.validate_value(i) }
    else
      raise SwaggerInvalidException.new("Value [#{name}] should be an array but is [#{value}]")
    end
  else
    nil
  end
end