Class: Trane::OperationBuilder
- Inherits:
-
Object
- Object
- Trane::OperationBuilder
- Defined in:
- lib/trane/operation_definition.rb
Overview
Builder for Trane.operation :name do ... end
Instance Method Summary collapse
- #build ⇒ Object
- #errors(&block) ⇒ Object
-
#initialize(name) ⇒ OperationBuilder
constructor
A new instance of OperationBuilder.
- #request(&block) ⇒ Object
- #response(status, &block) ⇒ Object
- #summary(text) ⇒ Object
Constructor Details
#initialize(name) ⇒ OperationBuilder
Returns a new instance of OperationBuilder.
107 108 109 110 111 112 113 |
# File 'lib/trane/operation_definition.rb', line 107 def initialize(name) @name = name.to_sym @summary = nil @request_builder = nil @responses = {} @error_keys = [] end |
Instance Method Details
#build ⇒ Object
136 137 138 139 140 141 142 143 144 |
# File 'lib/trane/operation_definition.rb', line 136 def build OperationDefinition.new( name: @name, summary: @summary, request: @request_builder&.build, responses: @responses, error_keys: @error_keys ) end |
#errors(&block) ⇒ Object
130 131 132 133 134 |
# File 'lib/trane/operation_definition.rb', line 130 def errors(&block) builder = ErrorKeysBuilder.new builder.instance_eval(&block) @error_keys = builder.keys end |
#request(&block) ⇒ Object
119 120 121 122 |
# File 'lib/trane/operation_definition.rb', line 119 def request(&block) @request_builder = RequestBuilder.new @request_builder.instance_eval(&block) end |
#response(status, &block) ⇒ Object
124 125 126 127 128 |
# File 'lib/trane/operation_definition.rb', line 124 def response(status, &block) builder = ResponseBuilder.new(status) builder.instance_eval(&block) @responses[status.to_i] = builder.build end |
#summary(text) ⇒ Object
115 116 117 |
# File 'lib/trane/operation_definition.rb', line 115 def summary(text) @summary = text end |