Class: GraphQL::Query::Result
- Inherits:
- 
      Object
      
        - Object
- GraphQL::Query::Result
 
- Extended by:
- Forwardable
- Defined in:
- lib/graphql/query/result.rb
Overview
A result from Schema#execute. It provides the requested data and access to the GraphQL::Query and Context.
Instance Attribute Summary collapse
- 
  
    
      #query  ⇒ GraphQL::Query 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    The query that was executed. 
- 
  
    
      #to_h  ⇒ Hash 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    The resulting hash of “data” and/or “errors”. 
Instance Method Summary collapse
- 
  
    
      #==(other)  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    A result is equal to another object when:. 
- 
  
    
      #initialize(query:, values:)  ⇒ Result 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of Result. 
- 
  
    
      #inspect  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
- 
  
    
      #method_missing(method_name, *args, &block)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Delegate any hash-like method to the underlying hash. 
- 
  
    
      #respond_to_missing?(method_name, include_private = false)  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    
Constructor Details
#initialize(query:, values:) ⇒ Result
Returns a new instance of Result.
| 11 12 13 14 | # File 'lib/graphql/query/result.rb', line 11 def initialize(query:, values:) @query = query @to_h = values end | 
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_name, *args, &block) ⇒ Object
Delegate any hash-like method to the underlying hash.
| 27 28 29 30 31 32 33 | # File 'lib/graphql/query/result.rb', line 27 def method_missing(method_name, *args, &block) if @to_h.respond_to?(method_name) @to_h.public_send(method_name, *args, &block) else super end end | 
Instance Attribute Details
#query ⇒ GraphQL::Query (readonly)
Returns The query that was executed.
| 17 18 19 | # File 'lib/graphql/query/result.rb', line 17 def query @query end | 
#to_h ⇒ Hash (readonly)
Returns The resulting hash of “data” and/or “errors”.
| 20 21 22 | # File 'lib/graphql/query/result.rb', line 20 def to_h @to_h end | 
Instance Method Details
#==(other) ⇒ Boolean
A result is equal to another object when:
- The other object is a Hash whose value matches result.to_h
- The other object is a Result whose value matches result.to_h
(The query is ignored for comparing result equality.)
| 51 52 53 54 55 56 57 58 59 60 | # File 'lib/graphql/query/result.rb', line 51 def ==(other) case other when Hash @to_h == other when Query::Result @to_h == other.to_h else super end end | 
#inspect ⇒ Object
| 39 40 41 | # File 'lib/graphql/query/result.rb', line 39 def inspect "#<GraphQL::Query::Result @query=... @to_h=#{@to_h}>" end | 
#respond_to_missing?(method_name, include_private = false) ⇒ Boolean
| 35 36 37 | # File 'lib/graphql/query/result.rb', line 35 def respond_to_missing?(method_name, include_private = false) @to_h.respond_to?(method_name) || super end |