Class: ActionSpec::OpenApi::Operation

Inherits:
Object
  • Object
show all
Defined in:
lib/action_spec/open_api/operation.rb

Instance Method Summary collapse

Constructor Details

#initialize(endpoint, controller_path:) ⇒ Operation

Returns a new instance of Operation.



6
7
8
9
10
# File 'lib/action_spec/open_api/operation.rb', line 6

def initialize(endpoint, controller_path:)
  @endpoint = endpoint
  @controller_path = controller_path
  @schema = Schema.new
end

Instance Method Details

#buildObject



12
13
14
15
16
17
18
19
20
21
# File 'lib/action_spec/open_api/operation.rb', line 12

def build
  {
    "summary" => endpoint.summary.presence,
    "operationId" => operation_id,
    "tags" => tags,
    "parameters" => parameters.presence,
    "requestBody" => schema.request_body(endpoint.request),
    "responses" => responses
  }.compact
end