Class: Swagger::Data::Parameter
- Inherits:
-
Object
- Object
- Object
- Swagger::Data::Parameter
show all
- Defined in:
- lib/ruby-swagger/data/parameter.rb
Overview
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Object
attr_swagger, #bulk_set, #swagger_attributes, #to_json, #to_swagger, #to_yaml
Class Method Details
.from_grape(grape_parameter) ⇒ Object
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
|
# File 'lib/ruby-swagger/data/parameter.rb', line 56
def self.from_grape(grape_parameter)
return nil if grape_parameter.nil? || grape_parameter.last[:type].is_a?(Hash) || grape_parameter.last[:type] == 'Hash'
grape_type = Swagger::Grape::Param.new(grape_parameter.last).to_swagger
parameter = Swagger::Data::Parameter.new
parameter.name = grape_parameter.first
parameter.in = 'formData'
parameter.description = grape_type['description']
parameter.required = grape_type['required']
parameter.default = grape_type['default']
parameter.type = grape_type['type']
parameter.format = grape_type['format']
if parameter.type == 'array'
items = Swagger::Data::Items.new
items.type = 'string'
parameter.items = items
end
parameter.type.nil? ? nil : parameter
rescue => e
puts "error processing parameter #{grape_parameter} [#{e}]"
raise e
end
|
.parse(new_parameter) ⇒ Object
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/ruby-swagger/data/parameter.rb', line 15
def self.parse(new_parameter)
return nil unless new_parameter
p = Swagger::Data::Parameter.new
%w(name in description required).each do |field|
p.send("#{field}=", new_parameter[field])
end
if p.in == 'body'
p.schema = Swagger::Data::Schema.parse(new_parameter['schema'])
else
%w(type format allowEmptyValue collectionFormat default maximum exclusiveMaximum minimum exclusiveMinimum maxLength minLength pattern maxItems minItems uniqueItems enum multipleOf).each do |field|
p.send("#{field}=", new_parameter[field])
end
p.items = Swagger::Data::Items.parse(new_parameter['items'])
end
p
end
|
Instance Method Details
#in=(new_in) ⇒ Object
40
41
42
43
44
45
|
# File 'lib/ruby-swagger/data/parameter.rb', line 40
def in=(new_in)
raise ArgumentError.new('Swagger::Data::Parameter#in= called with nil') if new_in.nil?
raise ArgumentError.new("Swagger::Data::Parameter#in= called with invalid value #{new_in}") unless %w(query header path formData body).include?(new_in)
@in = new_in
end
|
#items=(new_items) ⇒ Object
47
48
49
50
51
52
53
54
|
# File 'lib/ruby-swagger/data/parameter.rb', line 47
def items=(new_items)
raise ArgumentError.new('Swagger::Data::Parameter#items= items is nil') if new_items.nil? && @type == 'array'
if !new_items.nil? && !new_items.is_a?(Swagger::Data::Items)
new_items = Swagger::Data::Items.parse(new_items)
end
@items = new_items
end
|
#name=(new_name) ⇒ Object
35
36
37
38
|
# File 'lib/ruby-swagger/data/parameter.rb', line 35
def name=(new_name)
raise ArgumentError.new('Swagger::Data::Parameter#name called with nil') if new_name.nil?
@name = new_name
end
|