Sha256: 6a62f72f599d22dbd162908004c03695d4f92c3ffdcf2b61283ade31f75da82d
Contents?: true
Size: 943 Bytes
Versions: 3
Compression:
Stored size: 943 Bytes
Contents
module SwaggerYard # # Holds the name and type for a single model property # class Property attr_reader :name, :description def self.from_tag(tag) name, options_string = tag.name.split(/[\(\)]/) options = options_string.to_s.split(',').map(&:strip) new(name, tag.types, tag.text, options) end def initialize(name, types, description, options) @name, @description = name, description @required = options.include?('required') @nullable = options.include?('nullable') @type = Type.from_type_list(types) end def required? @required end def to_h @type.to_h.tap do |h| unless h['$ref'] h["description"] = description if description if @nullable h["x-nullable"] = true if h["type"] h["type"] = [h["type"], "null"] end end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
swagger_yard-0.4.2 | lib/swagger_yard/property.rb |
swagger_yard-0.4.1 | lib/swagger_yard/property.rb |
swagger_yard-0.4.0 | lib/swagger_yard/property.rb |