Request
Immutable value object representing a request.
Encapsulates query and body parameters. Transformations return new instances, preserving immutability.
Example: Creating a request
ruby
request = Request.new(query: { page: 1 }, body: { title: "Hello" })
request.query # => { page: 1 }
request.body # => { title: "Hello" }Example: Transforming keys
ruby
request.transform { |data| normalize(data) }Instance Methods
#body
#body
The body for this request.
Returns
Hash
#initialize
#initialize(body:, query:)
Creates a new request context.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
body | Hash | The body parameters. | |
query | Hash | The query parameters. |
Returns
Request — a new instance of Request
#transform
#transform
Transforms both query and body with the same block.
Returns
Example
ruby
request.transform { |data| normalize(data) }#transform_body
#transform_body
Transforms only the body.
Returns
Example
ruby
request.transform_body { |body| prepare(body) }#transform_query
#transform_query
Transforms only the query.
Returns
Example
ruby
request.transform_query { |query| normalize(query) }