Class: Activecube::Graphql::ResponseBuilder
- Inherits:
-
Object
- Object
- Activecube::Graphql::ResponseBuilder
- Defined in:
- lib/activecube/graphql/response_builder.rb
Defined Under Namespace
Classes: Response, ResponseClassRegistry
Instance Attribute Summary collapse
-
#response ⇒ Object
readonly
Returns the value of attribute response.
-
#response_class ⇒ Object
readonly
Returns the value of attribute response_class.
Instance Method Summary collapse
-
#initialize(tree, response) ⇒ ResponseBuilder
constructor
A new instance of ResponseBuilder.
- #map(&block) ⇒ Object
Constructor Details
#initialize(tree, response) ⇒ ResponseBuilder
Returns a new instance of ResponseBuilder.
143 144 145 146 147 |
# File 'lib/activecube/graphql/response_builder.rb', line 143 def initialize tree, response @response = response key_map = Hash[response.columns.map.with_index{|key,index| [key, index]}] @response_class = ResponseClassRegistry.instance.get_response_class tree.root, key_map end |
Instance Attribute Details
#response ⇒ Object (readonly)
Returns the value of attribute response.
142 143 144 |
# File 'lib/activecube/graphql/response_builder.rb', line 142 def response @response end |
#response_class ⇒ Object (readonly)
Returns the value of attribute response_class.
142 143 144 |
# File 'lib/activecube/graphql/response_builder.rb', line 142 def response_class @response_class end |
Instance Method Details
#map(&block) ⇒ Object
149 150 151 152 153 154 |
# File 'lib/activecube/graphql/response_builder.rb', line 149 def map &block raise Activecube::InputArgumentError, "Block expected on map of root response" unless block_given? response.rows.map do |row| block.call response_class.new row end end |