Action
Defines request/response structure for an action.
Returns Action::Request via request and Action::Response via response.
Modules
Instance Methods
#deprecated!
#deprecated!
Marks this action as deprecated.
Returns
void
Example
action :legacy_create do
deprecated!
end#deprecated?
#deprecated?
Whether this action is deprecated.
Returns
Boolean
#description
#description(value = nil)
The description for this action.
Used in generated specs as the operation description. Supports Markdown formatting.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
value | String, nil | nil | The description. |
Returns
String, nil
Example
action :create do
description 'Creates a new invoice and sends notification email.'
end#operation_id
#operation_id(value = nil)
The operation ID for this action.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
value | String, nil | nil | The operation ID. |
Returns
String, nil
Example
action :create do
operation_id 'createNewInvoice'
end#raises
#raises(*error_code_keys)
Declares the raised error codes for this action.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
error_code_keys | Symbol | The error code keys. |
Returns
void
Example
raises :not_found
raises :forbiddenExample
action :show do
raises :not_found, :forbidden
end#request
#request(replace: false, &block)
Defines the request structure for this action.
Use the block to define query parameters and request body.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
replace | Boolean | false | Whether to replace inherited definition. |
Returns
Yields Action::Request
Example: instance_eval style
action :create do
request do
query do
boolean? :dry_run
end
body do
string :title
end
end
endExample: yield style
action :create do
request do |request|
request.query do |query|
query.boolean? :dry_run
end
request.body do |body|
body.string :title
end
end
end#response
#response(replace: false, &block)
Defines the response structure for this action.
Use the block to define response body or declare no_content.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
replace | Boolean | false | Whether to replace inherited definition. |
Returns
Yields Action::Response
Example: instance_eval style
action :show do
response do
body do
uuid :id
string :title
end
end
endExample: yield style
action :show do
response do |response|
response.body do |body|
body.uuid :id
body.string :title
end
end
endExample: No content response
action :destroy do
response { no_content! }
end#summary
#summary(value = nil)
The summary for this action.
Used in generated specs as the operation summary.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
value | String, nil | nil | The summary. |
Returns
String, nil
Example
action :create do
summary 'Create a new invoice'
end#tags
#tags(*tags)
The tags for this action.
Tags help organize actions in generated documentation.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
tags | Array<String, Symbol> | The tag names. |
Returns
Array<Symbol>, nil
Example
action :create do
tags :billing, :invoices
end