Class: Swagger::DSL::Parameter

Inherits:
Hash
  • Object
show all
Defined in:
lib/swagger/dsl/parameter.rb

Instance Method Summary collapse

Constructor Details

#initialize(options, *args, &block) ⇒ Parameter

Returns a new instance of Parameter.



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/swagger/dsl/parameter.rb', line 6

def initialize(options, *args, &block)
  @default_required = options[:default_required]
  self["required"] = true if @default_required

  unless args.empty?
    self["name"] = args.first
    args[1..-1].each { |arg| merge!(arg.map { |k, v| [k.to_s, v] }.to_h) }
    canonical_schema!
    delete("required") unless self["required"]
  end
  instance_eval(&block) if block_given?
end

Instance Method Details

#required(value) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/swagger/dsl/parameter.rb', line 28

def required(value)
  if value
    self["required"] = true
  else
    delete("required")
  end
end

#schema(types = nil, dsl: nil, &block) ⇒ Object



19
20
21
22
# File 'lib/swagger/dsl/parameter.rb', line 19

def schema(types = nil, dsl: nil, &block)
  self["schema"] = types ? types : Swagger::DSL::JsonSchema.by(dsl).dsl(&block)
  canonical_schema!
end