Class: Sinatra::SwaggerExposer::Configuration::SwaggerEndpointResponse
- Inherits:
-
Object
- Object
- Sinatra::SwaggerExposer::Configuration::SwaggerEndpointResponse
- Includes:
- SwaggerConfigurationUtilities
- Defined in:
- lib/sinatra/swagger-exposer/configuration/swagger-endpoint-response.rb
Constant Summary collapse
- RESPONSE_PRIMITIVES_FILES =
PRIMITIVE_TYPES + [TYPE_FILE]
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
-
#items ⇒ Object
readonly
Returns the value of attribute items.
-
#type ⇒ Object
readonly
Returns the value of attribute type.
Instance Method Summary collapse
-
#initialize(type, description, known_types, headers, known_headers) ⇒ SwaggerEndpointResponse
constructor
A new instance of SwaggerEndpointResponse.
- #to_s ⇒ Object
- #to_swagger ⇒ Object
Methods included from SwaggerConfigurationUtilities
#check_name, #get_type, #hash_to_swagger, #list_or_none, #ref_to_type, #type_to_s, #white_list_params
Constructor Details
#initialize(type, description, known_types, headers, known_headers) ⇒ SwaggerEndpointResponse
Returns a new instance of SwaggerEndpointResponse.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/sinatra/swagger-exposer/configuration/swagger-endpoint-response.rb', line 24 def initialize(type, description, known_types, headers, known_headers) if type get_type(type, known_types + RESPONSE_PRIMITIVES_FILES) end if description @description = description end @headers = {} headers.each do |header_name| header_name = header_name.to_s if @headers.key? header_name raise SwaggerInvalidException.new("Duplicated header_name [#{header_name}]") end unless known_headers.key? header_name raise SwaggerInvalidException.new("Unknown header_name [#{header_name}]") end @headers[header_name] = known_headers[header_name] end end |
Instance Attribute Details
#items ⇒ Object (readonly)
Returns the value of attribute items.
15 16 17 |
# File 'lib/sinatra/swagger-exposer/configuration/swagger-endpoint-response.rb', line 15 def items @items end |
#type ⇒ Object (readonly)
Returns the value of attribute type.
15 16 17 |
# File 'lib/sinatra/swagger-exposer/configuration/swagger-endpoint-response.rb', line 15 def type @type end |
Instance Method Details
#to_s ⇒ Object
85 86 87 88 89 90 91 |
# File 'lib/sinatra/swagger-exposer/configuration/swagger-endpoint-response.rb', line 85 def to_s { :type => @type, :items => @items, :description => @description, }.to_json end |
#to_swagger ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/sinatra/swagger-exposer/configuration/swagger-endpoint-response.rb', line 47 def to_swagger result = {} if @type if @type == TYPE_ARRAY schema = {:type => TYPE_ARRAY} if @items if RESPONSE_PRIMITIVES_FILES.include? @items schema[:items] = {:type => @items} else schema[:items] = ref_to_type(@items) end end result[:schema] = schema else if RESPONSE_PRIMITIVES_FILES.include? @type result[:schema] = {:type => @type} else result[:schema] = ref_to_type(@type) end end end if @description result[:description] = @description end unless @headers.empty? swagged_headers = {} @headers.each_pair do |name, value| swagged_headers[name] = value.to_swagger end result[:headers] = swagged_headers end result end |