Module: GraphQL::Types::Relay::ConnectionBehaviors

Extended by:
Forwardable
Included in:
BaseConnection
Defined in:
lib/graphql/types/relay/connection_behaviors.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.add_page_info_field(obj_type) ⇒ Object



191
192
193
# File 'lib/graphql/types/relay/connection_behaviors.rb', line 191

def add_page_info_field(obj_type)
  obj_type.field :page_info, GraphQL::Types::Relay::PageInfo, null: false, description: "Information to aid in pagination."
end

Instance Method Details

#edgesObject



196
197
198
199
200
201
202
203
# File 'lib/graphql/types/relay/connection_behaviors.rb', line 196

def edges
  # Assume that whatever authorization needed to happen
  # already happened at the connection level.
  current_runtime_state = Fiber[:__graphql_runtime_info]
  query_runtime_state = current_runtime_state[context.query]
  query_runtime_state.was_authorized_by_scope_items = @object.was_authorized_by_scope_items?
  @object.edges
end

#nodesObject



205
206
207
208
209
210
211
212
# File 'lib/graphql/types/relay/connection_behaviors.rb', line 205

def nodes
  # Assume that whatever authorization needed to happen
  # already happened at the connection level.
  current_runtime_state = Fiber[:__graphql_runtime_info]
  query_runtime_state = current_runtime_state[context.query]
  query_runtime_state.was_authorized_by_scope_items = @object.was_authorized_by_scope_items?
  @object.nodes
end