class Swagger::Schema::Parameters

Public Instance Methods

[](index) click to toggle source
Calls superclass method
# File lib/swagger/schema/parameters.rb, line 10
def [](index)
  parameter = super(index)
  Parameter.new(parameter) if parameter
end
by_name(name) click to toggle source
# 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
deserializer(options = {}, store = true) click to toggle source
# 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
header() click to toggle source
# File lib/swagger/schema/parameters.rb, line 25
def header
  select_by("header")
end
path() click to toggle source
# File lib/swagger/schema/parameters.rb, line 29
def path
  select_by("path")
end
query() click to toggle source
# File lib/swagger/schema/parameters.rb, line 21
def query
  select_by("query")
end
select_by(in_place) click to toggle source
# 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) click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# File lib/swagger/schema/parameters.rb, line 70
def validator
  Validator.new(self)
end