Class: Swagger::Schema::Parameters
- Inherits:
-
Array
- Object
- Array
- Swagger::Schema::Parameters
show all
- Defined in:
- lib/swagger/schema/parameters.rb,
lib/swagger/schema/parameters/validator.rb,
lib/swagger/schema/parameters/deserializer.rb
Defined Under Namespace
Classes: Deserializer, Validator
Instance Method Summary
collapse
Instance Method Details
#[](index) ⇒ Object
10
11
12
13
|
# File 'lib/swagger/schema/parameters.rb', line 10
def [](index)
parameter = super(index)
Parameter.new(parameter) if parameter
end
|
#by_name(name) ⇒ Object
15
16
17
18
19
|
# File 'lib/swagger/schema/parameters.rb', line 15
def by_name(name)
name_str = name.to_s
parameter = find { |param| Util.try_hash(param, :name).to_s == name_str }
Parameter.new(parameter) if parameter
end
|
#cookie ⇒ Object
33
34
35
|
# File 'lib/swagger/schema/parameters.rb', line 33
def cookie
select_by("cookie")
end
|
#deserializer(options = {}, store = true) ⇒ Object
65
66
67
68
|
# File 'lib/swagger/schema/parameters.rb', line 65
def deserializer(options = {}, store = true)
use_options = store ? Swagger::Serializer::Store.current.deserialize_options.merge(options) : options
Deserializer.new(self, use_options)
end
|
25
26
27
|
# File 'lib/swagger/schema/parameters.rb', line 25
def
select_by("header")
end
|
#path ⇒ Object
29
30
31
|
# File 'lib/swagger/schema/parameters.rb', line 29
def path
select_by("path")
end
|
#query ⇒ Object
21
22
23
|
# File 'lib/swagger/schema/parameters.rb', line 21
def query
select_by("query")
end
|
#select_by(in_place) ⇒ Object
37
38
39
40
|
# File 'lib/swagger/schema/parameters.rb', line 37
def select_by(in_place)
in_place_str = in_place.to_s
Parameters.new(select { |param| Util.try_hash(param, :in).to_s == in_place_str })
end
|
#serializer(options = {}, store = true) ⇒ Object
60
61
62
63
|
# File 'lib/swagger/schema/parameters.rb', line 60
def serializer(options = {}, store = true)
use_options = store ? Swagger::Serializer::Store.current.serialize_options.merge(options) : options
JSON::Schema::Serializer.new(to_json_schema, use_options)
end
|
#to_json_schema ⇒ Object
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
# File 'lib/swagger/schema/parameters.rb', line 42
def to_json_schema
properties = {}
required = []
each do |param|
parameter = Parameter.new(param)
name = parameter.name.to_s
properties[name] = parameter.to_json_schema
required << name if parameter.required || parameter.path?
if Util.try_hash(properties[name], :type).to_s == "string" && !parameter.allowEmptyValue &&
Util.try_hash(properties[name], :minLength).nil?
properties[name]["minLength"] = 1
end
end
schema = { "type" => "object", "properties" => properties }
schema["required"] = required unless required.empty?
schema
end
|
#validator ⇒ Object
70
71
72
|
# File 'lib/swagger/schema/parameters.rb', line 70
def validator
Validator.new(self)
end
|