Sha256: 66e2f33690e9eee69ac6a97b029843bc2661a8ddd36a5ba496c1a54a4f4cb640
Contents?: true
Size: 1.65 KB
Versions: 4
Compression:
Stored size: 1.65 KB
Contents
module Swaggard module Swagger class Type BASIC_TYPES = { 'integer' => { 'type' => 'integer', 'format' => 'int32' }, 'long' => { 'type' => 'integer', 'format' => 'int64' }, 'float' => { 'type' => 'number', 'format' => 'float' }, 'double' => { 'type' => 'number', 'format' => 'double' }, 'string' => { 'type' => 'string' }, 'byte' => { 'type' => 'string', 'format' => 'byte' }, 'binary' => { 'type' => 'string', 'format' => 'binary' }, 'boolean' => { 'type' => 'boolean' }, 'date' => { 'type' => 'string', 'format' => 'date' }, 'date-time' => { 'type' => 'string', 'format' => 'date-time' }, 'datetime' => { 'type' => 'string', 'format' => 'date-time' }, 'password' => { 'type' => 'string', 'format' => 'password' }, 'hash' => { 'type' => 'object' } } attr_reader :name def initialize(name, is_array = false) @name = name.to_s @is_array = is_array end def to_doc if @is_array { 'type' => 'array', 'items' => type_tag_and_name } else type_tag_and_name end end private def basic_type? BASIC_TYPES.has_key?(@name.downcase) end def custom_type? Swaggard.configuration.custom_types.has_key?(@name) end def type_tag_and_name if basic_type? BASIC_TYPES[@name.downcase].dup elsif custom_type? Swaggard.configuration.custom_types[@name].dup else { '$ref' => "#/definitions/#{name}" } end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
swaggard-1.5.1 | lib/swaggard/swagger/type.rb |
swaggard-1.5.0 | lib/swaggard/swagger/type.rb |
swaggard-1.4.0 | lib/swaggard/swagger/type.rb |
swaggard-1.3.0 | lib/swaggard/swagger/type.rb |