Class: Yori::Schema::V3::Parameter

Inherits:
Yori::SchemaBase show all
Defined in:
lib/yori/schema/v3/parameter.rb

Overview

Parameter: Describes a single operation parameter.

Direct Known Subclasses

Header

Instance Attribute Summary

Attributes inherited from Yori::SchemaBase

#id

Instance Method Summary collapse

Methods inherited from Yori::SchemaBase

eval_class!, eval_hash!, eval_input!, #ref, #validator

Instance Method Details

#example_any(value) ⇒ Object



33
34
35
# File 'lib/yori/schema/v3/parameter.rb', line 33

def example_any(value)
  self['example'] = value
end


26
27
28
# File 'lib/yori/schema/v3/parameter.rb', line 26

def in_cookie
  self['in'] = 'cookie'
end

#in_headerObject



18
19
20
# File 'lib/yori/schema/v3/parameter.rb', line 18

def in_header
  self['in'] = 'header'
end

#in_pathObject



22
23
24
# File 'lib/yori/schema/v3/parameter.rb', line 22

def in_path
  self['in'] = 'path'
end

#in_queryObject



14
15
16
# File 'lib/yori/schema/v3/parameter.rb', line 14

def in_query
  self['in'] = 'query'
end

#validate!Object



40
41
42
43
44
# File 'lib/yori/schema/v3/parameter.rb', line 40

def validate!
  validate_require_fields!('name', 'in')
  validate_in!
  validate_schema_or_content!
end

#validate_in!Object



46
47
48
49
50
51
52
53
54
55
# File 'lib/yori/schema/v3/parameter.rb', line 46

def validate_in!
  validate_limit_field_values!('in', 'query', 'header', 'path', 'cookie')
  in_value = self['in']

  case in_value
  when 'path'
    validate_require_fields!('required')
    validate_limit_field_values!('required', true)
  end
end

#validate_schema_or_content!Object



57
58
59
# File 'lib/yori/schema/v3/parameter.rb', line 57

def validate_schema_or_content!
  validate_mutually_exclusive_fields!('schema', 'content')
end