Class: Sinatra::SwaggerExposer::Configuration::SwaggerHashLike

Inherits:
Object
  • Object
show all
Includes:
SwaggerConfigurationUtilities
Defined in:
lib/sinatra/swagger-exposer/configuration/swagger-hash-like.rb

Overview

A hash-like for groups of things

Direct Known Subclasses

SwaggerResponseHeaders, SwaggerTypes

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

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(things) ⇒ SwaggerHashLike

Returns a new instance of SwaggerHashLike.



16
17
18
# File 'lib/sinatra/swagger-exposer/configuration/swagger-hash-like.rb', line 16

def initialize(things)
  @things = things
end

Instance Method Details

#[](name) ⇒ Object



20
21
22
# File 'lib/sinatra/swagger-exposer/configuration/swagger-hash-like.rb', line 20

def [](name)
  @things[name]
end

#check_duplicate(name, type_name) ⇒ Object



28
29
30
31
32
# File 'lib/sinatra/swagger-exposer/configuration/swagger-hash-like.rb', line 28

def check_duplicate(name, type_name)
  if key?(name)
    raise SwaggerInvalidException.new("#{type_name} [#{name}] already exist with value #{@things[name]}")
  end
end

#key?(name) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/sinatra/swagger-exposer/configuration/swagger-hash-like.rb', line 24

def key?(name)
  @things.key? name
end

#to_swaggerObject



34
35
36
37
38
39
40
# File 'lib/sinatra/swagger-exposer/configuration/swagger-hash-like.rb', line 34

def to_swagger
  if @things.empty?
    nil
  else
    hash_to_swagger(@things)
  end
end