module GraphQL::Types::Relay::EdgeBehaviors

def self.included(child_class)

def self.included(child_class)
  child_class.description("An edge in a connection.")
  child_class.field(:cursor, String, null: false, description: "A cursor for use in pagination.")
  child_class.extend(ClassMethods)
  child_class.class_eval { self.node_type = nil }
  child_class.node_nullable(true)
end

def node

def node
  current_runtime_state = Thread.current[:__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.node
end