Class: GraphQL::Pagination::ActiveRecordRelationConnection
- Inherits:
 - 
      RelationConnection
      
        
- Object
 - Connection
 - RelationConnection
 - GraphQL::Pagination::ActiveRecordRelationConnection
 
 
- Defined in:
 - lib/graphql/pagination/active_record_relation_connection.rb
 
Overview
Customizes RelationConnection to work with ActiveRecord::Relations.
Instance Attribute Summary
Attributes inherited from Connection
#after_value, #before_value, #context, #edge_class, #first, #first_value, #items, #last, #last_value, #parent
Instance Method Summary collapse
- 
  
    
      #null_relation(relation)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      #relation_count(relation)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      #relation_limit(relation)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      #relation_offset(relation)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
 
Methods inherited from RelationConnection
#cursor_for, #has_next_page, #has_previous_page, #nodes
Methods inherited from Connection
#after, #before, #cursor_for, #edge_nodes, #edges, #end_cursor, #has_max_page_size_override?, #has_next_page, #has_previous_page, #initialize, #max_page_size, #max_page_size=, #nodes, #page_info, #start_cursor
Constructor Details
This class inherits a constructor from GraphQL::Pagination::Connection
Instance Method Details
#null_relation(relation) ⇒ Object
      31 32 33 34 35 36 37 38  | 
    
      # File 'lib/graphql/pagination/active_record_relation_connection.rb', line 31 def null_relation(relation) if relation.respond_to?(:none) relation.none else # Rails 3 relation.where("1=2") end end  | 
  
#relation_count(relation) ⇒ Object
      8 9 10 11 12 13 14 15 16 17 18 19 20 21  | 
    
      # File 'lib/graphql/pagination/active_record_relation_connection.rb', line 8 def relation_count(relation) int_or_hash = if relation.respond_to?(:unscope) relation.unscope(:order).count(:all) else # Rails 3 relation.count end if int_or_hash.is_a?(Integer) int_or_hash else # Grouped relations return count-by-group hashes int_or_hash.length end end  | 
  
#relation_limit(relation) ⇒ Object
      23 24 25  | 
    
      # File 'lib/graphql/pagination/active_record_relation_connection.rb', line 23 def relation_limit(relation) relation.limit_value end  | 
  
#relation_offset(relation) ⇒ Object
      27 28 29  | 
    
      # File 'lib/graphql/pagination/active_record_relation_connection.rb', line 27 def relation_offset(relation) relation.offset_value end  |