class Swaggard::Swagger::Parameters::Body::Property
Attributes
id[R]
Public Class Methods
new(string)
click to toggle source
# File lib/swaggard/swagger/parameters/body.rb, line 59 def initialize(string) parse(string) end
Public Instance Methods
parse(string)
click to toggle source
Example: [Array] status Filter by status. (e.g. status[]=1&status=2&status[]=3) Example: [Array] status(required) Filter by status. (e.g. status[]=1&status=2&status[]=3) Example: [Integer] media ID of the desired media type.
# File lib/swaggard/swagger/parameters/body.rb, line 77 def parse(string) string.gsub!("\n", ' ') data_type, required, name, options_and_description = string.match(/\A\[(\S*)\](!)?\s*([\w\[\]]*)\s*(.*)\Z/).captures allow_multiple = name.gsub!('[]', '') options, description = options_and_description.match(/\A(\[.*\])?(.*)\Z/).captures options = options ? options.gsub(/\[?\]?\s?/, '').split(',') : [] @id = name @description = description if description.present? @type = Type.new([data_type]) @required = required @options = options end
required?()
click to toggle source
# File lib/swaggard/swagger/parameters/body.rb, line 63 def required? @required end
to_doc()
click to toggle source
# File lib/swaggard/swagger/parameters/body.rb, line 67 def to_doc result = @type.to_doc result['description'] = @description if @description result['enum'] = @options if @options.present? result end