Class: Apiwork::Contract::Action::Request
- Inherits:
-
Object
- Object
- Apiwork::Contract::Action::Request
- Defined in:
- lib/apiwork/contract/action/request.rb
Overview
Defines query and body for a request.
Returns Object via ‘query` and `body`.
Instance Attribute Summary collapse
- #action_name ⇒ Object readonly
- #contract_class ⇒ Object readonly
Instance Method Summary collapse
-
#body {|body| ... } ⇒ Contract::Object
Defines the request body for this request.
-
#description(value = nil) ⇒ String?
The description for this request.
-
#initialize(contract_class, action_name) ⇒ Request
constructor
A new instance of Request.
-
#query {|query| ... } ⇒ Contract::Object
Defines query parameters for this request.
Constructor Details
#initialize(contract_class, action_name) ⇒ Request
Returns a new instance of Request.
14 15 16 17 18 19 20 |
# File 'lib/apiwork/contract/action/request.rb', line 14 def initialize(contract_class, action_name) @contract_class = contract_class @action_name = action_name @query = nil @body = nil @description = nil end |
Instance Attribute Details
#action_name ⇒ Object (readonly)
11 12 13 |
# File 'lib/apiwork/contract/action/request.rb', line 11 def action_name @action_name end |
#contract_class ⇒ Object (readonly)
11 12 13 |
# File 'lib/apiwork/contract/action/request.rb', line 11 def contract_class @contract_class end |
Instance Method Details
#body {|body| ... } ⇒ Contract::Object
Defines the request body for this request.
Body is parsed from the JSON request body.
91 92 93 94 95 96 97 |
# File 'lib/apiwork/contract/action/request.rb', line 91 def body(&block) @body ||= Object.new(@contract_class, action_name: @action_name) if block block.arity.positive? ? yield(@body) : @body.instance_eval(&block) end @body end |
#description(value = nil) ⇒ String?
The description for this request.
Metadata included in exports.
37 38 39 40 41 |
# File 'lib/apiwork/contract/action/request.rb', line 37 def description(value = nil) return @description if value.nil? @description = value end |
#query {|query| ... } ⇒ Contract::Object
Defines query parameters for this request.
Query parameters are parsed from the URL query string.
63 64 65 66 67 68 69 |
# File 'lib/apiwork/contract/action/request.rb', line 63 def query(&block) @query ||= Object.new(@contract_class, action_name: @action_name) if block block.arity.positive? ? yield(@query) : @query.instance_eval(&block) end @query end |