Class: OpenapiBlocks::OperationBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/openapi_blocks/operation_builder.rb

Overview

rubocop:disable Style/Documentation

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#_descriptionObject (readonly)

Returns the value of attribute _description.



5
6
7
# File 'lib/openapi_blocks/operation_builder.rb', line 5

def _description
  @_description
end

#_parametersObject (readonly)

Returns the value of attribute _parameters.



5
6
7
# File 'lib/openapi_blocks/operation_builder.rb', line 5

def _parameters
  @_parameters
end

#_responsesObject (readonly)

Returns the value of attribute _responses.



5
6
7
# File 'lib/openapi_blocks/operation_builder.rb', line 5

def _responses
  @_responses
end

#_securityObject (readonly)

Returns the value of attribute _security.



5
6
7
# File 'lib/openapi_blocks/operation_builder.rb', line 5

def _security
  @_security
end

#_summaryObject (readonly)

Returns the value of attribute _summary.



5
6
7
# File 'lib/openapi_blocks/operation_builder.rb', line 5

def _summary
  @_summary
end

#_tagsObject (readonly)

Returns the value of attribute _tags.



5
6
7
# File 'lib/openapi_blocks/operation_builder.rb', line 5

def _tags
  @_tags
end

Instance Method Details

#description(value = nil) ⇒ Object



11
12
13
# File 'lib/openapi_blocks/operation_builder.rb', line 11

def description(value = nil)
  value ? @_description = value : @_description
end

#no_security!Object



42
43
44
# File 'lib/openapi_blocks/operation_builder.rb', line 42

def no_security!
  @_security = []
end

#parameter(name, in:, type:, description: nil, required: false) ⇒ Object



19
20
21
22
23
24
25
26
27
28
# File 'lib/openapi_blocks/operation_builder.rb', line 19

def parameter(name, in:, type:, description: nil, required: false)
  @_parameters ||= []
  @_parameters << {
    name:        name,
    in:          binding.local_variable_get(:in),
    type:        type,
    description: description,
    required:    required
  }.compact
end

#response(status, description:, schema: nil) ⇒ Object



30
31
32
33
34
35
36
# File 'lib/openapi_blocks/operation_builder.rb', line 30

def response(status, description:, schema: nil)
  @_responses ||= {}
  @_responses[status.to_s] = {
    description: description,
    schema:      schema
  }.compact
end

#security(*schemes) ⇒ Object



38
39
40
# File 'lib/openapi_blocks/operation_builder.rb', line 38

def security(*schemes)
  @_security = schemes.map { |s| { s => [] } }
end

#summary(value = nil) ⇒ Object



7
8
9
# File 'lib/openapi_blocks/operation_builder.rb', line 7

def summary(value = nil)
  value ? @_summary = value : @_summary
end

#tags(*values) ⇒ Object



15
16
17
# File 'lib/openapi_blocks/operation_builder.rb', line 15

def tags(*values)
  values.any? ? @_tags = values : @_tags
end

#to_hObject



46
47
48
49
50
51
52
53
54
55
# File 'lib/openapi_blocks/operation_builder.rb', line 46

def to_h
  {
    summary:     @_summary,
    description: @_description,
    parameters:  @_parameters,
    responses:   @_responses,
    security:    @_security,
    tags:        @_tags
  }.compact
end