# This is an autogenerated file for dynamic methods in SpellBook # Please rerun rake rails_rbi:models[SpellBook] to regenerate. # typed: strong module SpellBook::EnumInstanceMethods extend T::Sig sig { returns(T::Boolean) } def unclassified?; end sig { void } def unclassified!; end sig { returns(T::Boolean) } def biology?; end sig { void } def biology!; end sig { returns(T::Boolean) } def dark_art?; end sig { void } def dark_art!; end end module SpellBook::ActiveRelation_WhereNot sig { params(opts: T.untyped, rest: T.untyped).returns(T.self_type) } def not(opts, *rest); end end module SpellBook::GeneratedAttributeMethods extend T::Sig sig { returns(String) } def book_type; end sig { params(value: T.any(Integer, String, Symbol)).void } def book_type=(value); end sig { returns(T::Boolean) } def book_type?; end sig { returns(Integer) } def id; end sig { params(value: Integer).void } def id=(value); end sig { returns(T::Boolean) } def id?; end sig { returns(T.nilable(String)) } def name; end sig { params(value: T.nilable(String)).void } def name=(value); end sig { returns(T::Boolean) } def name?; end sig { returns(T.nilable(Integer)) } def wizard_id; end sig { params(value: T.nilable(Integer)).void } def wizard_id=(value); end sig { returns(T::Boolean) } def wizard_id?; end end module SpellBook::GeneratedAssociationMethods extend T::Sig sig { returns(::Wizard) } def wizard; end sig { params(value: ::Wizard).void } def wizard=(value); end end module SpellBook::CustomFinderMethods sig { params(limit: Integer).returns(T::Array[SpellBook]) } def first_n(limit); end sig { params(limit: Integer).returns(T::Array[SpellBook]) } def last_n(limit); end sig { params(args: T::Array[T.any(Integer, String)]).returns(T::Array[SpellBook]) } def find_n(*args); end sig { params(id: Integer).returns(T.nilable(SpellBook)) } def find_by_id(id); end sig { params(id: Integer).returns(SpellBook) } def find_by_id!(id); end end class SpellBook < ApplicationRecord include SpellBook::EnumInstanceMethods include SpellBook::GeneratedAttributeMethods include SpellBook::GeneratedAssociationMethods extend SpellBook::CustomFinderMethods extend T::Sig extend T::Generic sig { returns(T::Hash[T.any(String, Symbol), Integer]) } def self.book_types; end sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) } def self.biology(*args); end sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) } def self.dark_art(*args); end sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) } def self.unclassified(*args); end sig { returns(SpellBook::ActiveRecord_Relation) } def self.all; end sig { params(block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.unscoped(&block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.select(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.order(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.reorder(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.group(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.limit(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.offset(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.joins(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.left_joins(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.left_outer_joins(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.where(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.rewhere(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.preload(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.eager_load(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.includes(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.from(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.lock(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.readonly(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.or(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.having(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.create_with(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.distinct(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.references(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.none(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.unscope(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def self.except(*args, &block); end sig { params(args: T.untyped).returns(SpellBook) } def self.find(*args); end sig { params(args: T.untyped).returns(T.nilable(SpellBook)) } def self.find_by(*args); end sig { params(args: T.untyped).returns(SpellBook) } def self.find_by!(*args); end sig { returns(T.nilable(SpellBook)) } def self.first; end sig { returns(SpellBook) } def self.first!; end sig { returns(T.nilable(SpellBook)) } def self.second; end sig { returns(SpellBook) } def self.second!; end sig { returns(T.nilable(SpellBook)) } def self.third; end sig { returns(SpellBook) } def self.third!; end sig { returns(T.nilable(SpellBook)) } def self.third_to_last; end sig { returns(SpellBook) } def self.third_to_last!; end sig { returns(T.nilable(SpellBook)) } def self.second_to_last; end sig { returns(SpellBook) } def self.second_to_last!; end sig { returns(T.nilable(SpellBook)) } def self.last; end sig { returns(SpellBook) } def self.last!; end sig { params(conditions: T.untyped).returns(T::Boolean) } def self.exists?(conditions = nil); end sig { params(args: T.untyped).returns(T::Boolean) } def self.any?(*args); end sig { params(args: T.untyped).returns(T::Boolean) } def self.many?(*args); end sig { params(args: T.untyped).returns(T::Boolean) } def self.none?(*args); end sig { params(args: T.untyped).returns(T::Boolean) } def self.one?(*args); end sig { params(attributes: T.untyped, block: T.untyped).returns(SpellBook) } def self.create(attributes = nil, &block); end sig { params(attributes: T.untyped, block: T.untyped).returns(SpellBook) } def self.create!(attributes = nil, &block); end sig { params(attributes: T.untyped, block: T.untyped).returns(SpellBook) } def self.new(attributes = nil, &block); end end class SpellBook::ActiveRecord_Relation < ActiveRecord::Relation include SpellBook::ActiveRelation_WhereNot include SpellBook::CustomFinderMethods include Enumerable extend T::Sig extend T::Generic Elem = type_member(fixed: SpellBook) sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) } def biology(*args); end sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) } def dark_art(*args); end sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) } def unclassified(*args); end sig { returns(SpellBook::ActiveRecord_Relation) } def all; end sig { params(block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def unscoped(&block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def select(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def order(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def reorder(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def group(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def limit(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def offset(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def joins(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def left_joins(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def left_outer_joins(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def where(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def rewhere(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def preload(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def eager_load(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def includes(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def from(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def lock(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def readonly(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def or(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def having(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def create_with(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def distinct(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def references(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def none(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def unscope(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) } def except(*args, &block); end sig { params(args: T.untyped).returns(SpellBook) } def find(*args); end sig { params(args: T.untyped).returns(T.nilable(SpellBook)) } def find_by(*args); end sig { params(args: T.untyped).returns(SpellBook) } def find_by!(*args); end sig { returns(T.nilable(SpellBook)) } def first; end sig { returns(SpellBook) } def first!; end sig { returns(T.nilable(SpellBook)) } def second; end sig { returns(SpellBook) } def second!; end sig { returns(T.nilable(SpellBook)) } def third; end sig { returns(SpellBook) } def third!; end sig { returns(T.nilable(SpellBook)) } def third_to_last; end sig { returns(SpellBook) } def third_to_last!; end sig { returns(T.nilable(SpellBook)) } def second_to_last; end sig { returns(SpellBook) } def second_to_last!; end sig { returns(T.nilable(SpellBook)) } def last; end sig { returns(SpellBook) } def last!; end sig { params(conditions: T.untyped).returns(T::Boolean) } def exists?(conditions = nil); end sig { params(args: T.untyped).returns(T::Boolean) } def any?(*args); end sig { params(args: T.untyped).returns(T::Boolean) } def many?(*args); end sig { params(args: T.untyped).returns(T::Boolean) } def none?(*args); end sig { params(args: T.untyped).returns(T::Boolean) } def one?(*args); end sig { override.params(block: T.proc.params(e: SpellBook).void).returns(T::Array[SpellBook]) } def each(&block); end sig { params(level: T.nilable(Integer)).returns(T::Array[SpellBook]) } def flatten(level); end sig { returns(T::Array[SpellBook]) } def to_a; end sig do type_parameters(:U).params( blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:U)), ) .returns(T::Array[T.type_parameter(:U)]) end def map(&blk); end end class SpellBook::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation include SpellBook::ActiveRelation_WhereNot include SpellBook::CustomFinderMethods include Enumerable extend T::Sig extend T::Generic Elem = type_member(fixed: SpellBook) sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) } def biology(*args); end sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) } def dark_art(*args); end sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) } def unclassified(*args); end sig { returns(SpellBook::ActiveRecord_AssociationRelation) } def all; end sig { params(block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def unscoped(&block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def select(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def order(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def reorder(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def group(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def limit(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def offset(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def joins(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def left_joins(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def left_outer_joins(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def where(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def rewhere(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def preload(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def eager_load(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def includes(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def from(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def lock(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def readonly(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def or(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def having(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def create_with(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def distinct(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def references(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def none(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def unscope(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def except(*args, &block); end sig { params(args: T.untyped).returns(SpellBook) } def find(*args); end sig { params(args: T.untyped).returns(T.nilable(SpellBook)) } def find_by(*args); end sig { params(args: T.untyped).returns(SpellBook) } def find_by!(*args); end sig { returns(T.nilable(SpellBook)) } def first; end sig { returns(SpellBook) } def first!; end sig { returns(T.nilable(SpellBook)) } def second; end sig { returns(SpellBook) } def second!; end sig { returns(T.nilable(SpellBook)) } def third; end sig { returns(SpellBook) } def third!; end sig { returns(T.nilable(SpellBook)) } def third_to_last; end sig { returns(SpellBook) } def third_to_last!; end sig { returns(T.nilable(SpellBook)) } def second_to_last; end sig { returns(SpellBook) } def second_to_last!; end sig { returns(T.nilable(SpellBook)) } def last; end sig { returns(SpellBook) } def last!; end sig { params(conditions: T.untyped).returns(T::Boolean) } def exists?(conditions = nil); end sig { params(args: T.untyped).returns(T::Boolean) } def any?(*args); end sig { params(args: T.untyped).returns(T::Boolean) } def many?(*args); end sig { params(args: T.untyped).returns(T::Boolean) } def none?(*args); end sig { params(args: T.untyped).returns(T::Boolean) } def one?(*args); end sig { override.params(block: T.proc.params(e: SpellBook).void).returns(T::Array[SpellBook]) } def each(&block); end sig { params(level: T.nilable(Integer)).returns(T::Array[SpellBook]) } def flatten(level); end sig { returns(T::Array[SpellBook]) } def to_a; end sig do type_parameters(:U).params( blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:U)), ) .returns(T::Array[T.type_parameter(:U)]) end def map(&blk); end end class SpellBook::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associations::CollectionProxy include SpellBook::CustomFinderMethods include Enumerable extend T::Sig extend T::Generic Elem = type_member(fixed: SpellBook) sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) } def biology(*args); end sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) } def dark_art(*args); end sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) } def unclassified(*args); end sig { returns(SpellBook::ActiveRecord_AssociationRelation) } def all; end sig { params(block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def unscoped(&block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def select(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def order(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def reorder(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def group(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def limit(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def offset(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def joins(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def left_joins(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def left_outer_joins(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def where(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def rewhere(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def preload(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def eager_load(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def includes(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def from(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def lock(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def readonly(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def or(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def having(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def create_with(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def distinct(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def references(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def none(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def unscope(*args, &block); end sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) } def except(*args, &block); end sig { params(args: T.untyped).returns(SpellBook) } def find(*args); end sig { params(args: T.untyped).returns(T.nilable(SpellBook)) } def find_by(*args); end sig { params(args: T.untyped).returns(SpellBook) } def find_by!(*args); end sig { returns(T.nilable(SpellBook)) } def first; end sig { returns(SpellBook) } def first!; end sig { returns(T.nilable(SpellBook)) } def second; end sig { returns(SpellBook) } def second!; end sig { returns(T.nilable(SpellBook)) } def third; end sig { returns(SpellBook) } def third!; end sig { returns(T.nilable(SpellBook)) } def third_to_last; end sig { returns(SpellBook) } def third_to_last!; end sig { returns(T.nilable(SpellBook)) } def second_to_last; end sig { returns(SpellBook) } def second_to_last!; end sig { returns(T.nilable(SpellBook)) } def last; end sig { returns(SpellBook) } def last!; end sig { params(conditions: T.untyped).returns(T::Boolean) } def exists?(conditions = nil); end sig { params(args: T.untyped).returns(T::Boolean) } def any?(*args); end sig { params(args: T.untyped).returns(T::Boolean) } def many?(*args); end sig { params(args: T.untyped).returns(T::Boolean) } def none?(*args); end sig { params(args: T.untyped).returns(T::Boolean) } def one?(*args); end sig { override.params(block: T.proc.params(e: SpellBook).void).returns(T::Array[SpellBook]) } def each(&block); end sig { params(level: T.nilable(Integer)).returns(T::Array[SpellBook]) } def flatten(level); end sig { returns(T::Array[SpellBook]) } def to_a; end sig do type_parameters(:U).params( blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:U)), ) .returns(T::Array[T.type_parameter(:U)]) end def map(&blk); end sig { params(records: T.any(SpellBook, T::Array[SpellBook])).returns(T.self_type) } def <<(*records); end sig { params(records: T.any(SpellBook, T::Array[SpellBook])).returns(T.self_type) } def append(*records); end sig { params(records: T.any(SpellBook, T::Array[SpellBook])).returns(T.self_type) } def push(*records); end sig { params(records: T.any(SpellBook, T::Array[SpellBook])).returns(T.self_type) } def concat(*records); end end