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 |