# DO NOT EDIT MANUALLY # This is an autogenerated file for types exported from the `activerecord` gem. # Please instead update this file by running `bin/tapioca gem activerecord`. # typed: true module ActiveRecord extend ::ActiveSupport::Autoload class << self def eager_load!; end def gem_version; end def version; end end end class ActiveRecord::ActiveJobRequiredError < ::ActiveRecord::ActiveRecordError; end class ActiveRecord::ActiveRecordError < ::StandardError; end class ActiveRecord::AdapterNotFound < ::ActiveRecord::ActiveRecordError; end class ActiveRecord::AdapterNotSpecified < ::ActiveRecord::ActiveRecordError; end class ActiveRecord::AdapterTimeout < ::ActiveRecord::QueryAborted; end module ActiveRecord::Aggregations def reload(*_arg0); end private def clear_aggregation_cache; end def init_internals; end def initialize_dup(*_arg0); end end module ActiveRecord::Aggregations::ClassMethods def composed_of(part_id, options = T.unsafe(nil)); end private def reader_method(name, class_name, mapping, allow_nil, constructor); end def writer_method(name, class_name, mapping, allow_nil, converter); end end class ActiveRecord::AmbiguousSourceReflectionForThroughAssociation < ::ActiveRecord::ActiveRecordError def initialize(klass, macro, association_name, options, possible_sources); end end class ActiveRecord::AssociationNotFoundError < ::ActiveRecord::ConfigurationError include ::DidYouMean::Correctable def initialize(record = T.unsafe(nil), association_name = T.unsafe(nil)); end def association_name; end def record; end end class ActiveRecord::AssociationNotFoundError::Correction def initialize(error); end def corrections; end end class ActiveRecord::AssociationRelation < ::ActiveRecord::Relation def initialize(klass, association, **_arg2); end def ==(other); end def build(attributes = T.unsafe(nil), &block); end def insert(attributes, **kwargs); end def insert!(attributes, **kwargs); end def insert_all(attributes, **kwargs); end def insert_all!(attributes, **kwargs); end def new(attributes = T.unsafe(nil), &block); end def proxy_association; end def upsert(attributes, **kwargs); end def upsert_all(attributes, **kwargs); end private def _create(attributes, &block); end def _create!(attributes, &block); end def _new(attributes, &block); end def exec_queries; end end class ActiveRecord::AssociationTypeMismatch < ::ActiveRecord::ActiveRecordError; end module ActiveRecord::Associations extend ::ActiveSupport::Autoload extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::Associations::ClassMethods def association(name); end def association_cached?(name); end def reload(*_arg0); end private def association_instance_get(name); end def association_instance_set(name, association); end def clear_association_cache; end def init_internals; end def initialize_dup(*_arg0); end class << self def eager_load!; end end end class ActiveRecord::Associations::AliasTracker def initialize(connection, aliases); end def aliased_table_for(arel_table, table_name = T.unsafe(nil)); end def aliases; end private def truncate(name); end class << self def create(connection, initial_table, joins, aliases = T.unsafe(nil)); end def initial_count_for(connection, name, table_joins); end end end class ActiveRecord::Associations::Association def initialize(owner, reflection); end def create(attributes = T.unsafe(nil), &block); end def create!(attributes = T.unsafe(nil), &block); end def extensions; end def initialize_attributes(record, except_from_scope_attributes = T.unsafe(nil)); end def inversed_from(record); end def inversed_from_queries(record); end def klass; end def load_target; end def loaded!; end def loaded?; end def marshal_dump; end def marshal_load(data); end def options(*_arg0, &_arg1); end def owner; end def reflection; end def reload(force = T.unsafe(nil)); end def remove_inverse_instance(record); end def reset; end def reset_negative_cache; end def reset_scope; end def scope; end def set_inverse_instance(record); end def set_inverse_instance_from_queries(record); end def stale_target?; end def target; end def target=(target); end private def association_scope; end def build_record(attributes); end def enqueue_destroy_association(options); end def find_target; end def find_target?; end def foreign_key_for?(record); end def foreign_key_present?; end def inversable?(record); end def inverse_association_for(record); end def inverse_reflection_for(record); end def invertible_for?(record); end def matches_foreign_key?(record); end def raise_on_type_mismatch!(record); end def scope_for_create; end def skip_statement_cache?(scope); end def stale_state; end def strict_loading?; end def target_scope; end end class ActiveRecord::Associations::AssociationScope def initialize(value_transformation); end def scope(association); end private def add_constraints(scope, owner, chain); end def apply_scope(scope, table, key, value); end def eval_scope(reflection, scope, owner); end def get_chain(reflection, association, tracker); end def join(table, constraint); end def last_chain_scope(scope, reflection, owner); end def next_chain_scope(scope, reflection, next_reflection); end def transform_value(value); end def value_transformation; end class << self def create(&block); end def get_bind_values(owner, chain); end def scope(association); end end end ActiveRecord::Associations::AssociationScope::INSTANCE = T.let(T.unsafe(nil), ActiveRecord::Associations::AssociationScope) class ActiveRecord::Associations::AssociationScope::ReflectionProxy < ::SimpleDelegator def initialize(reflection, aliased_table); end def aliased_table; end def all_includes; end end class ActiveRecord::Associations::BelongsToAssociation < ::ActiveRecord::Associations::SingularAssociation def decrement_counters; end def decrement_counters_before_last_save; end def default(&block); end def handle_dependency; end def increment_counters; end def inversed_from(record); end def reset; end def target_changed?; end def updated?; end private def find_target?; end def foreign_key_present?; end def invertible_for?(record); end def primary_key(klass); end def replace(record); end def replace_keys(record, force: T.unsafe(nil)); end def require_counter_update?; end def stale_state; end def update_counters(by); end def update_counters_via_scope(klass, foreign_key, by); end end class ActiveRecord::Associations::BelongsToPolymorphicAssociation < ::ActiveRecord::Associations::BelongsToAssociation def klass; end def target_changed?; end private def inverse_reflection_for(record); end def raise_on_type_mismatch!(record); end def replace_keys(record, force: T.unsafe(nil)); end def stale_state; end end module ActiveRecord::Associations::Builder; end class ActiveRecord::Associations::Builder::Association class << self def build(model, name, scope, options, &block); end def create_reflection(model, name, scope, options, &block); end def extensions; end def extensions=(_arg0); end private def add_after_commit_jobs_callback(model, dependent); end def add_destroy_callbacks(model, reflection); end def build_scope(scope); end def check_dependent_options(dependent, model); end def define_accessors(model, reflection); end def define_callbacks(model, reflection); end def define_extensions(model, name); end def define_readers(mixin, name); end def define_validations(model, reflection); end def define_writers(mixin, name); end def macro; end def valid_dependent_options; end def valid_options(options); end def validate_options(options); end end end ActiveRecord::Associations::Builder::Association::VALID_OPTIONS = T.let(T.unsafe(nil), Array) class ActiveRecord::Associations::Builder::BelongsTo < ::ActiveRecord::Associations::Builder::SingularAssociation class << self def touch_record(o, changes, foreign_key, name, touch, touch_method); end private def add_counter_cache_callbacks(model, reflection); end def add_default_callbacks(model, reflection); end def add_destroy_callbacks(model, reflection); end def add_touch_callbacks(model, reflection); end def define_callbacks(model, reflection); end def define_validations(model, reflection); end def macro; end def valid_dependent_options; end def valid_options(options); end end end class ActiveRecord::Associations::Builder::CollectionAssociation < ::ActiveRecord::Associations::Builder::Association class << self def define_callbacks(model, reflection); end private def define_callback(model, callback_name, name, options); end def define_extensions(model, name, &block); end def define_readers(mixin, name); end def define_writers(mixin, name); end def valid_options(options); end end end ActiveRecord::Associations::Builder::CollectionAssociation::CALLBACKS = T.let(T.unsafe(nil), Array) class ActiveRecord::Associations::Builder::HasAndBelongsToMany def initialize(association_name, lhs_model, options); end def association_name; end def lhs_model; end def middle_reflection(join_model); end def options; end def through_model; end private def belongs_to_options(options); end def middle_options(join_model); end def table_name; end end class ActiveRecord::Associations::Builder::HasMany < ::ActiveRecord::Associations::Builder::CollectionAssociation class << self private def macro; end def valid_dependent_options; end def valid_options(options); end end end class ActiveRecord::Associations::Builder::HasOne < ::ActiveRecord::Associations::Builder::SingularAssociation class << self def touch_record(record, name, touch); end private def add_destroy_callbacks(model, reflection); end def add_touch_callbacks(model, reflection); end def define_callbacks(model, reflection); end def define_validations(model, reflection); end def macro; end def valid_dependent_options; end def valid_options(options); end end end class ActiveRecord::Associations::Builder::SingularAssociation < ::ActiveRecord::Associations::Builder::Association class << self private def define_accessors(model, reflection); end def define_constructors(mixin, name); end def valid_options(options); end end end module ActiveRecord::Associations::ClassMethods def belongs_to(name, scope = T.unsafe(nil), **options); end def has_and_belongs_to_many(name, scope = T.unsafe(nil), **options, &extension); end def has_many(name, scope = T.unsafe(nil), **options, &extension); end def has_one(name, scope = T.unsafe(nil), **options); end end class ActiveRecord::Associations::CollectionAssociation < ::ActiveRecord::Associations::Association def add_to_target(record, skip_callbacks: T.unsafe(nil), replace: T.unsafe(nil), &block); end def build(attributes = T.unsafe(nil), &block); end def concat(*records); end def delete(*records); end def delete_all(dependent = T.unsafe(nil)); end def destroy(*records); end def destroy_all; end def empty?; end def find(*args); end def find_from_target?; end def ids_reader; end def ids_writer(ids); end def include?(record); end def load_target; end def null_scope?; end def reader; end def replace(other_array); end def reset; end def scope; end def size; end def target=(record); end def transaction(*args); end def writer(records); end private def _create_record(attributes, raise = T.unsafe(nil), &block); end def callback(method, record); end def callbacks_for(callback_name); end def concat_records(records, raise = T.unsafe(nil)); end def delete_or_destroy(records, method); end def delete_records(records, method); end def find_by_scan(*args); end def include_in_memory?(record); end def insert_record(record, validate = T.unsafe(nil), raise = T.unsafe(nil), &block); end def merge_target_lists(persisted, memory); end def remove_records(existing_records, records, method); end def replace_common_records_in_memory(new_target, original_target); end def replace_on_target(record, index, skip_callbacks); end def replace_records(new_target, original_target); end end class ActiveRecord::Associations::CollectionProxy < ::ActiveRecord::Relation def initialize(klass, association, **_arg2); end def <<(*records); end def ==(other); end def _select!(*_arg0, &_arg1); end def and(*_arg0, &_arg1); end def and!(*_arg0, &_arg1); end def annotate(*_arg0, &_arg1); end def annotate!(*_arg0, &_arg1); end def annotate_values(*_arg0, &_arg1); end def annotate_values=(arg); end def append(*records); end def arel(*_arg0, &_arg1); end def build(attributes = T.unsafe(nil), &block); end def calculate(operation, column_name); end def clear; end def concat(*records); end def construct_join_dependency(*_arg0, &_arg1); end def create(attributes = T.unsafe(nil), &block); end def create!(attributes = T.unsafe(nil), &block); end def create_with(*_arg0, &_arg1); end def create_with!(*_arg0, &_arg1); end def create_with_value(*_arg0, &_arg1); end def create_with_value=(arg); end def delete(*records); end def delete_all(dependent = T.unsafe(nil)); end def destroy(*records); end def destroy_all; end def distinct(*_arg0, &_arg1); end def distinct!(*_arg0, &_arg1); end def distinct_value(*_arg0, &_arg1); end def distinct_value=(arg); end def eager_load(*_arg0, &_arg1); end def eager_load!(*_arg0, &_arg1); end def eager_load_values(*_arg0, &_arg1); end def eager_load_values=(arg); end def empty?; end def except(*_arg0, &_arg1); end def extending(*_arg0, &_arg1); end def extending!(*_arg0, &_arg1); end def extending_values(*_arg0, &_arg1); end def extending_values=(arg); end def extensions(*_arg0, &_arg1); end def extract_associated(*_arg0, &_arg1); end def find(*args); end def from(*_arg0, &_arg1); end def from!(*_arg0, &_arg1); end def from_clause(*_arg0, &_arg1); end def from_clause=(arg); end def group(*_arg0, &_arg1); end def group!(*_arg0, &_arg1); end def group_values(*_arg0, &_arg1); end def group_values=(arg); end def having(*_arg0, &_arg1); end def having!(*_arg0, &_arg1); end def having_clause(*_arg0, &_arg1); end def having_clause=(arg); end def include?(record); end def includes(*_arg0, &_arg1); end def includes!(*_arg0, &_arg1); end def includes_values(*_arg0, &_arg1); end def includes_values=(arg); end def insert(*_arg0, &_arg1); end def insert!(*_arg0, &_arg1); end def insert_all(*_arg0, &_arg1); end def insert_all!(*_arg0, &_arg1); end def inspect; end def joins(*_arg0, &_arg1); end def joins!(*_arg0, &_arg1); end def joins_values(*_arg0, &_arg1); end def joins_values=(arg); end def last(limit = T.unsafe(nil)); end def left_joins(*_arg0, &_arg1); end def left_outer_joins(*_arg0, &_arg1); end def left_outer_joins!(*_arg0, &_arg1); end def left_outer_joins_values(*_arg0, &_arg1); end def left_outer_joins_values=(arg); end def limit(*_arg0, &_arg1); end def limit!(*_arg0, &_arg1); end def limit_value(*_arg0, &_arg1); end def limit_value=(arg); end def load_target; end def loaded; end def loaded?; end def lock(*_arg0, &_arg1); end def lock!(*_arg0, &_arg1); end def lock_value(*_arg0, &_arg1); end def lock_value=(arg); end def merge(*_arg0, &_arg1); end def merge!(*_arg0, &_arg1); end def new(attributes = T.unsafe(nil), &block); end def none(*_arg0, &_arg1); end def none!(*_arg0, &_arg1); end def offset(*_arg0, &_arg1); end def offset!(*_arg0, &_arg1); end def offset_value(*_arg0, &_arg1); end def offset_value=(arg); end def only(*_arg0, &_arg1); end def optimizer_hints(*_arg0, &_arg1); end def optimizer_hints!(*_arg0, &_arg1); end def optimizer_hints_values(*_arg0, &_arg1); end def optimizer_hints_values=(arg); end def or(*_arg0, &_arg1); end def or!(*_arg0, &_arg1); end def order(*_arg0, &_arg1); end def order!(*_arg0, &_arg1); end def order_values(*_arg0, &_arg1); end def order_values=(arg); end def pluck(*column_names); end def preload(*_arg0, &_arg1); end def preload!(*_arg0, &_arg1); end def preload_values(*_arg0, &_arg1); end def preload_values=(arg); end def prepend(*args); end def proxy_association; end def push(*records); end def readonly(*_arg0, &_arg1); end def readonly!(*_arg0, &_arg1); end def readonly_value(*_arg0, &_arg1); end def readonly_value=(arg); end def records; end def references(*_arg0, &_arg1); end def references!(*_arg0, &_arg1); end def references_values(*_arg0, &_arg1); end def references_values=(arg); end def reload; end def reorder(*_arg0, &_arg1); end def reorder!(*_arg0, &_arg1); end def reordering_value(*_arg0, &_arg1); end def reordering_value=(arg); end def replace(other_array); end def reselect(*_arg0, &_arg1); end def reselect!(*_arg0, &_arg1); end def reset; end def reset_scope; end def reverse_order(*_arg0, &_arg1); end def reverse_order!(*_arg0, &_arg1); end def reverse_order_value(*_arg0, &_arg1); end def reverse_order_value=(arg); end def rewhere(*_arg0, &_arg1); end def scope; end def scoping(*_arg0, &_arg1); end def select_values(*_arg0, &_arg1); end def select_values=(arg); end def size; end def skip_preloading!(*_arg0, &_arg1); end def skip_query_cache!(*_arg0, &_arg1); end def skip_query_cache_value(*_arg0, &_arg1); end def skip_query_cache_value=(arg); end def spawn(*_arg0, &_arg1); end def strict_loading(*_arg0, &_arg1); end def strict_loading!(*_arg0, &_arg1); end def strict_loading_value(*_arg0, &_arg1); end def strict_loading_value=(arg); end def take(limit = T.unsafe(nil)); end def target; end def uniq!(*_arg0, &_arg1); end def unscope(*_arg0, &_arg1); end def unscope!(*_arg0, &_arg1); end def unscope_values(*_arg0, &_arg1); end def unscope_values=(arg); end def upsert(*_arg0, &_arg1); end def upsert_all(*_arg0, &_arg1); end def values(*_arg0, &_arg1); end def where(*_arg0, &_arg1); end def where!(*_arg0, &_arg1); end def where_clause(*_arg0, &_arg1); end def where_clause=(arg); end private def exec_queries; end def find_from_target?; end def find_nth_from_last(index); end def find_nth_with_limit(index, limit); end def null_scope?; end end module ActiveRecord::Associations::ForeignAssociation def foreign_key_present?; end def nullified_owner_attributes; end private def set_owner_attributes(record); end end class ActiveRecord::Associations::HasManyAssociation < ::ActiveRecord::Associations::CollectionAssociation include ::ActiveRecord::Associations::ForeignAssociation def handle_dependency; end def insert_record(record, validate = T.unsafe(nil), raise = T.unsafe(nil)); end private def _create_record(attributes, *_arg1); end def concat_records(records, *_arg1); end def count_records; end def delete_count(method, scope); end def delete_or_nullify_all_records(method); end def delete_records(records, method); end def difference(a, b); end def intersection(a, b); end def update_counter(difference, reflection = T.unsafe(nil)); end def update_counter_if_success(saved_successfully, difference); end def update_counter_in_memory(difference, reflection = T.unsafe(nil)); end end class ActiveRecord::Associations::HasManyThroughAssociation < ::ActiveRecord::Associations::HasManyAssociation include ::ActiveRecord::Associations::ThroughAssociation def initialize(owner, reflection); end def concat(*records); end def insert_record(record, validate = T.unsafe(nil), raise = T.unsafe(nil)); end private def build_record(attributes); end def build_through_record(record); end def concat_records(records); end def delete_or_nullify_all_records(method); end def delete_records(records, method); end def delete_through_records(records); end def difference(a, b); end def distribution(array); end def find_target; end def intersection(a, b); end def invertible_for?(record); end def mark_occurrence(distribution, record); end def remove_records(existing_records, records, method); end def save_through_record(record); end def target_reflection_has_associated_record?; end def through_records_for(record); end def through_scope; end def through_scope_attributes; end def update_through_counter?(method); end end class ActiveRecord::Associations::HasOneAssociation < ::ActiveRecord::Associations::SingularAssociation include ::ActiveRecord::Associations::ForeignAssociation def delete(method = T.unsafe(nil)); end def handle_dependency; end private def _create_record(attributes, raise_error = T.unsafe(nil), &block); end def nullify_owner_attributes(record); end def remove_target!(method); end def replace(record, save = T.unsafe(nil)); end def set_new_record(record); end def transaction_if(value); end end class ActiveRecord::Associations::HasOneThroughAssociation < ::ActiveRecord::Associations::HasOneAssociation include ::ActiveRecord::Associations::ThroughAssociation private def create_through_record(record, save); end def replace(record, save = T.unsafe(nil)); end end class ActiveRecord::Associations::JoinDependency def initialize(base, table, associations, join_type); end def apply_column_aliases(relation); end def base_klass; end def each(&block); end def instantiate(result_set, strict_loading_value, &block); end def join_constraints(joins_to_add, alias_tracker, references); end def reflections; end protected def join_root; end def join_type; end private def alias_tracker; end def aliases; end def build(associations, base_klass); end def construct(ar_parent, parent, row, seen, model_cache, strict_loading_value); end def construct_model(record, node, row, model_cache, id, strict_loading_value); end def find_reflection(klass, name); end def join_root_alias; end def make_constraints(parent, child, join_type); end def make_join_constraints(join_root, join_type); end def walk(left, right, join_type); end class << self def make_tree(associations); end def walk_tree(associations, hash); end end end class ActiveRecord::Associations::JoinDependency::Aliases def initialize(tables); end def column_alias(node, column); end def column_aliases(node); end def columns; end end class ActiveRecord::Associations::JoinDependency::Aliases::Column < ::Struct def alias; end def alias=(_); end def name; end def name=(_); end class << self def [](*_arg0); end def inspect; end def members; end def new(*_arg0); end end end class ActiveRecord::Associations::JoinDependency::Aliases::Table < ::Struct def column_aliases; end def columns; end def columns=(_); end def node; end def node=(_); end class << self def [](*_arg0); end def inspect; end def members; end def new(*_arg0); end end end class ActiveRecord::Associations::JoinDependency::JoinAssociation < ::ActiveRecord::Associations::JoinDependency::JoinPart def initialize(reflection, children); end def join_constraints(foreign_table, foreign_klass, join_type, alias_tracker); end def match?(other); end def readonly?; end def reflection; end def strict_loading?; end def table; end def table=(_arg0); end def tables; end private def append_constraints(join, constraints); end end class ActiveRecord::Associations::JoinDependency::JoinBase < ::ActiveRecord::Associations::JoinDependency::JoinPart def initialize(base_klass, table, children); end def match?(other); end def table; end end class ActiveRecord::Associations::JoinDependency::JoinPart include ::Enumerable def initialize(base_klass, children); end def attribute_types(*_arg0, &_arg1); end def base_klass; end def children; end def column_names(*_arg0, &_arg1); end def each(&block); end def each_children(&block); end def extract_record(row, column_names_with_alias); end def instantiate(row, aliases, column_types = T.unsafe(nil), &block); end def match?(other); end def primary_key(*_arg0, &_arg1); end def table; end def table_name(*_arg0, &_arg1); end end class ActiveRecord::Associations::Preloader extend ::ActiveSupport::Autoload def initialize(associate_by_default: T.unsafe(nil)); end def preload(records, associations, preload_scope = T.unsafe(nil)); end private def grouped_records(association, records, polymorphic_parent); end def preloader_for(reflection, owners); end def preloaders_for_hash(association, records, scope, polymorphic_parent); end def preloaders_for_one(association, records, scope, polymorphic_parent); end def preloaders_for_reflection(reflection, records, scope); end def preloaders_on(association, records, scope, polymorphic_parent = T.unsafe(nil)); end end class ActiveRecord::Associations::Preloader::AlreadyLoaded def initialize(klass, owners, reflection, preload_scope, associate_by_default = T.unsafe(nil)); end def preloaded_records; end def records_by_owner; end def run; end private def owners; end def reflection; end end class ActiveRecord::Associations::Preloader::Association def initialize(klass, owners, reflection, preload_scope, associate_by_default = T.unsafe(nil)); end def preloaded_records; end def records_by_owner; end def run; end private def associate_records_to_owner(owner, records); end def association_key_name; end def association_key_type; end def build_scope; end def convert_key(key); end def key_conversion_required?; end def klass; end def load_records; end def model; end def owner_key_name; end def owner_key_type; end def owner_keys; end def owners; end def owners_by_key; end def preload_scope; end def records_for(ids); end def reflection; end def reflection_scope; end def scope; end end class ActiveRecord::Associations::Preloader::ThroughAssociation < ::ActiveRecord::Associations::Preloader::Association def initialize(*_arg0); end def preloaded_records; end def records_by_owner; end private def middle_records; end def preload_index; end def source_preloaders; end def source_reflection; end def through_preloaders; end def through_reflection; end def through_scope; end end ActiveRecord::Associations::Preloader::ThroughAssociation::PRELOADER = T.let(T.unsafe(nil), ActiveRecord::Associations::Preloader) class ActiveRecord::Associations::SingularAssociation < ::ActiveRecord::Associations::Association def build(attributes = T.unsafe(nil), &block); end def force_reload_reader; end def reader; end def writer(record); end private def _create_record(attributes, raise_error = T.unsafe(nil), &block); end def find_target; end def replace(record); end def scope_for_create; end def set_new_record(record); end end module ActiveRecord::Associations::ThroughAssociation def source_reflection(*_arg0, &_arg1); end private def build_record(attributes); end def construct_join_attributes(*records); end def ensure_mutable; end def ensure_not_nested; end def foreign_key_present?; end def stale_state; end def target_scope; end def through_association; end def through_reflection; end end module ActiveRecord::AttributeAssignment include ::ActiveModel::ForbiddenAttributesProtection include ::ActiveModel::AttributeAssignment private def _assign_attributes(attributes); end def assign_multiparameter_attributes(pairs); end def assign_nested_parameter_attributes(pairs); end def execute_callstack_for_multiparameter_attributes(callstack); end def extract_callstack_for_multiparameter_attributes(pairs); end def find_parameter_position(multiparameter_name); end def type_cast_attribute_value(multiparameter_name, value); end end class ActiveRecord::AttributeAssignmentError < ::ActiveRecord::ActiveRecordError def initialize(message = T.unsafe(nil), exception = T.unsafe(nil), attribute = T.unsafe(nil)); end def attribute; end def exception; end end module ActiveRecord::AttributeMethods extend ::ActiveSupport::Concern extend ::ActiveSupport::Autoload include ::ActiveModel::AttributeMethods include ::ActiveRecord::AttributeMethods::Read include ::ActiveRecord::AttributeMethods::Write include ::ActiveRecord::AttributeMethods::BeforeTypeCast include ::ActiveRecord::AttributeMethods::Query include ::ActiveRecord::AttributeMethods::PrimaryKey include ::ActiveRecord::AttributeMethods::TimeZoneConversion include ::ActiveModel::Dirty include ::ActiveRecord::AttributeMethods::Dirty include ::ActiveRecord::AttributeMethods::Serialization mixes_in_class_methods ::ActiveModel::AttributeMethods::ClassMethods mixes_in_class_methods ::ActiveRecord::AttributeMethods::ClassMethods mixes_in_class_methods ::ActiveRecord::AttributeMethods::Read::ClassMethods mixes_in_class_methods ::ActiveRecord::AttributeMethods::Write::ClassMethods mixes_in_class_methods ::ActiveRecord::AttributeMethods::PrimaryKey::ClassMethods mixes_in_class_methods ::ActiveRecord::AttributeMethods::TimeZoneConversion::ClassMethods mixes_in_class_methods ::ActiveRecord::AttributeMethods::Serialization::ClassMethods def [](attr_name); end def []=(attr_name, value); end def _has_attribute?(attr_name); end def accessed_fields; end def attribute_for_inspect(attr_name); end def attribute_names; end def attribute_present?(attr_name); end def attributes; end def has_attribute?(attr_name); end def respond_to?(name, include_private = T.unsafe(nil)); end private def attribute_method?(attr_name); end def attributes_for_create(attribute_names); end def attributes_for_update(attribute_names); end def attributes_with_values(attribute_names); end def format_for_inspect(name, value); end def pk_attribute?(name); end class << self def dangerous_attribute_methods; end end end module ActiveRecord::AttributeMethods::BeforeTypeCast extend ::ActiveSupport::Concern def attributes_before_type_cast; end def read_attribute_before_type_cast(attr_name); end private def attribute_before_type_cast(attr_name); end def attribute_came_from_user?(attr_name); end def attribute_for_database(attr_name); end end module ActiveRecord::AttributeMethods::ClassMethods def _has_attribute?(attr_name); end def attribute_method?(attribute); end def attribute_names; end def dangerous_attribute_method?(name); end def dangerous_class_method?(method_name); end def define_attribute_methods; end def has_attribute?(attr_name); end def inherited(child_class); end def initialize_generated_modules; end def instance_method_already_implemented?(method_name); end def method_defined_within?(name, klass, superklass = T.unsafe(nil)); end def undefine_attribute_methods; end end module ActiveRecord::AttributeMethods::Dirty extend ::ActiveSupport::Concern include ::ActiveModel::AttributeMethods include ::ActiveModel::Dirty mixes_in_class_methods ::ActiveModel::AttributeMethods::ClassMethods def attribute_before_last_save(attr_name); end def attribute_change_to_be_saved(attr_name); end def attribute_in_database(attr_name); end def attributes_in_database; end def changed_attribute_names_to_save; end def changes_to_save; end def has_changes_to_save?; end def reload(*_arg0); end def saved_change_to_attribute(attr_name); end def saved_change_to_attribute?(attr_name, **options); end def saved_changes; end def saved_changes?; end def will_save_change_to_attribute?(attr_name, **options); end private def _create_record(attribute_names = T.unsafe(nil)); end def _touch_row(attribute_names, time); end def _update_record(attribute_names = T.unsafe(nil)); end def attribute_names_for_partial_writes; end def write_attribute_without_type_cast(attr_name, value); end end class ActiveRecord::AttributeMethods::GeneratedAttributeMethods < ::Module include ::Mutex_m def lock; end def locked?; end def synchronize(&block); end def try_lock; end def unlock; end end module ActiveRecord::AttributeMethods::PrimaryKey extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::AttributeMethods::PrimaryKey::ClassMethods def id; end def id=(value); end def id?; end def id_before_type_cast; end def id_for_database; end def id_in_database; end def id_was; end def to_key; end private def attribute_method?(attr_name); end end module ActiveRecord::AttributeMethods::PrimaryKey::ClassMethods def dangerous_attribute_method?(method_name); end def get_primary_key(base_name); end def instance_method_already_implemented?(method_name); end def primary_key; end def primary_key=(value); end def quoted_primary_key; end def reset_primary_key; end private def suppress_composite_primary_key(pk); end end ActiveRecord::AttributeMethods::PrimaryKey::ClassMethods::ID_ATTRIBUTE_METHODS = T.let(T.unsafe(nil), Set) module ActiveRecord::AttributeMethods::Query extend ::ActiveSupport::Concern def query_attribute(attr_name); end private def attribute?(attr_name); end end ActiveRecord::AttributeMethods::RESTRICTED_CLASS_METHODS = T.let(T.unsafe(nil), Array) module ActiveRecord::AttributeMethods::Read extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::AttributeMethods::Read::ClassMethods def _read_attribute(attr_name, &block); end def read_attribute(attr_name, &block); end private def attribute(attr_name, &block); end end module ActiveRecord::AttributeMethods::Read::ClassMethods private def define_method_attribute(name, owner:); end end module ActiveRecord::AttributeMethods::Serialization extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::AttributeMethods::Serialization::ClassMethods end module ActiveRecord::AttributeMethods::Serialization::ClassMethods def serialize(attr_name, class_name_or_coder = T.unsafe(nil), **options); end private def type_incompatible_with_serialize?(type, class_name); end end class ActiveRecord::AttributeMethods::Serialization::ColumnNotSerializableError < ::StandardError def initialize(name, type); end end module ActiveRecord::AttributeMethods::TimeZoneConversion extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::AttributeMethods::TimeZoneConversion::ClassMethods end module ActiveRecord::AttributeMethods::TimeZoneConversion::ClassMethods def define_attribute(name, cast_type, **_arg2); end private def create_time_zone_conversion_attribute?(name, cast_type); end end class ActiveRecord::AttributeMethods::TimeZoneConversion::TimeZoneConverter def cast(value); end def deserialize(value); end private def convert_time_to_time_zone(value); end def map_avoiding_infinite_recursion(value); end def set_time_zone_without_conversion(value); end class << self def new(subtype); end end end module ActiveRecord::AttributeMethods::Write extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::AttributeMethods::Write::ClassMethods def _write_attribute(attr_name, value); end def write_attribute(attr_name, value); end private def attribute=(attr_name, value); end def write_attribute_without_type_cast(attr_name, value); end end module ActiveRecord::AttributeMethods::Write::ClassMethods private def define_method_attribute=(name, owner:); end end module ActiveRecord::Attributes extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::Attributes::ClassMethods end module ActiveRecord::Attributes::ClassMethods def attribute(name, cast_type = T.unsafe(nil), **options, &block); end def define_attribute(name, cast_type, default: T.unsafe(nil), user_provided_default: T.unsafe(nil)); end def load_schema!; end private def _lookup_cast_type(name, type, options); end def decorate_attribute_type(attr_name, **default); end def define_default_attribute(name, value, type, from_user:); end end ActiveRecord::Attributes::ClassMethods::NO_DEFAULT_PROVIDED = T.let(T.unsafe(nil), Object) module ActiveRecord::AutosaveAssociation extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::AutosaveAssociation::ClassMethods def changed_for_autosave?; end def destroyed_by_association; end def destroyed_by_association=(reflection); end def mark_for_destruction; end def marked_for_destruction?; end def reload(options = T.unsafe(nil)); end private def _ensure_no_duplicate_errors; end def around_save_collection_association; end def associated_records_to_validate_or_save(association, new_record, autosave); end def association_foreign_key_changed?(reflection, record, key); end def association_valid?(reflection, record, index = T.unsafe(nil)); end def custom_validation_context?; end def nested_records_changed_for_autosave?; end def normalize_reflection_attribute(indexed_attribute, reflection, index, attribute); end def record_changed?(reflection, record, key); end def save_belongs_to_association(reflection); end def save_collection_association(reflection); end def save_has_one_association(reflection); end def validate_collection_association(reflection); end def validate_single_association(reflection); end end module ActiveRecord::AutosaveAssociation::AssociationBuilderExtension class << self def build(model, reflection); end def valid_options; end end end module ActiveRecord::AutosaveAssociation::ClassMethods private def add_autosave_association_callbacks(reflection); end def define_autosave_validation_callbacks(reflection); end def define_non_cyclic_method(name, &block); end end class ActiveRecord::Base include ::ActiveRecord::Core include ::ActiveRecord::Persistence include ::ActiveRecord::ReadonlyAttributes include ::ActiveRecord::ModelSchema include ::ActiveRecord::Inheritance include ::ActiveRecord::Scoping include ::ActiveRecord::Scoping::Default include ::ActiveRecord::Scoping::Named include ::ActiveRecord::Sanitization include ::ActiveModel::ForbiddenAttributesProtection include ::ActiveModel::AttributeAssignment include ::ActiveRecord::AttributeAssignment include ::ActiveModel::Conversion include ::ActiveRecord::Integration include ::ActiveModel::Validations include ::ActiveSupport::Callbacks include ::ActiveModel::Validations::HelperMethods include ::ActiveRecord::Validations include ::ActiveRecord::CounterCache include ::ActiveRecord::Attributes include ::ActiveRecord::Locking::Optimistic include ::ActiveRecord::Locking::Pessimistic include ::ActiveModel::AttributeMethods include ::ActiveRecord::AttributeMethods include ::ActiveRecord::Base::GeneratedAttributeMethods include ::ActiveRecord::Base::GeneratedAssociationMethods include ::ActiveRecord::AttributeMethods::Read include ::ActiveRecord::AttributeMethods::Write include ::ActiveRecord::AttributeMethods::BeforeTypeCast include ::ActiveRecord::AttributeMethods::Query include ::ActiveRecord::AttributeMethods::PrimaryKey include ::ActiveRecord::AttributeMethods::TimeZoneConversion include ::ActiveModel::Dirty include ::ActiveRecord::AttributeMethods::Dirty include ::ActiveRecord::AttributeMethods::Serialization include ::ActiveRecord::Callbacks include ::ActiveModel::Validations::Callbacks include ::ActiveRecord::Timestamp include ::ActiveRecord::Associations include ::ActiveModel::SecurePassword include ::ActiveRecord::AutosaveAssociation include ::ActiveRecord::NestedAttributes include ::ActiveRecord::Transactions include ::ActiveRecord::TouchLater include ::ActiveRecord::NoTouching include ::ActiveRecord::Reflection include ::ActiveModel::Serialization include ::ActiveModel::Serializers::JSON include ::ActiveRecord::Serialization include ::ActiveRecord::Store include ::ActiveRecord::SecureToken include ::ActiveRecord::SignedId include ::ActiveRecord::Suppressor extend ::ActiveModel::Naming extend ::ActiveSupport::Benchmarkable extend ::ActiveSupport::DescendantsTracker extend ::ActiveRecord::ConnectionHandling extend ::ActiveRecord::QueryCache::ClassMethods extend ::ActiveRecord::Querying extend ::ActiveModel::Translation extend ::ActiveRecord::Translation extend ::ActiveRecord::DynamicMatchers extend ::ActiveRecord::DelegatedType extend ::ActiveRecord::Explain extend ::ActiveRecord::Enum extend ::ActiveRecord::Delegation::DelegateCache extend ::ActiveRecord::Aggregations::ClassMethods extend ::ActiveRecord::Core::ClassMethods extend ::ActiveRecord::Persistence::ClassMethods extend ::ActiveRecord::ReadonlyAttributes::ClassMethods extend ::ActiveRecord::ModelSchema::ClassMethods extend ::ActiveRecord::Inheritance::ClassMethods extend ::ActiveRecord::Scoping::ClassMethods extend ::ActiveRecord::Scoping::Default::ClassMethods extend ::ActiveRecord::Scoping::Named::ClassMethods extend ::ActiveRecord::Sanitization::ClassMethods extend ::ActiveModel::Conversion::ClassMethods extend ::ActiveRecord::Integration::ClassMethods extend ::ActiveModel::Validations::ClassMethods extend ::ActiveModel::Callbacks extend ::ActiveSupport::Callbacks::ClassMethods extend ::ActiveModel::Validations::HelperMethods extend ::ActiveRecord::Validations::ClassMethods extend ::ActiveRecord::CounterCache::ClassMethods extend ::ActiveRecord::Attributes::ClassMethods extend ::ActiveRecord::Locking::Optimistic::ClassMethods extend ::ActiveModel::AttributeMethods::ClassMethods extend ::ActiveRecord::AttributeMethods::ClassMethods extend ::ActiveRecord::AttributeMethods::Read::ClassMethods extend ::ActiveRecord::AttributeMethods::Write::ClassMethods extend ::ActiveRecord::AttributeMethods::PrimaryKey::ClassMethods extend ::ActiveRecord::AttributeMethods::TimeZoneConversion::ClassMethods extend ::ActiveRecord::AttributeMethods::Serialization::ClassMethods extend ::ActiveRecord::Callbacks::ClassMethods extend ::ActiveModel::Validations::Callbacks::ClassMethods extend ::ActiveRecord::Timestamp::ClassMethods extend ::ActiveRecord::Associations::ClassMethods extend ::ActiveModel::SecurePassword::ClassMethods extend ::ActiveRecord::AutosaveAssociation::ClassMethods extend ::ActiveRecord::NestedAttributes::ClassMethods extend ::ActiveRecord::Transactions::ClassMethods extend ::ActiveRecord::NoTouching::ClassMethods extend ::ActiveRecord::Reflection::ClassMethods extend ::ActiveRecord::Store::ClassMethods extend ::ActiveRecord::SecureToken::ClassMethods extend ::ActiveRecord::SignedId::ClassMethods extend ::ActiveRecord::Suppressor::ClassMethods def __callbacks; end def __callbacks?; end def _before_commit_callbacks; end def _commit_callbacks; end def _create_callbacks; end def _destroy_callbacks; end def _find_callbacks; end def _initialize_callbacks; end def _reflections; end def _reflections?; end def _rollback_callbacks; end def _run_before_commit_callbacks(&block); end def _run_commit_callbacks(&block); end def _run_create_callbacks(&block); end def _run_destroy_callbacks(&block); end def _run_find_callbacks(&block); end def _run_initialize_callbacks(&block); end def _run_rollback_callbacks(&block); end def _run_save_callbacks(&block); end def _run_touch_callbacks(&block); end def _run_update_callbacks(&block); end def _run_validate_callbacks(&block); end def _run_validation_callbacks(&block); end def _save_callbacks; end def _touch_callbacks; end def _update_callbacks; end def _validate_callbacks; end def _validation_callbacks; end def _validators; end def _validators?; end def aggregate_reflections; end def aggregate_reflections?; end def attribute_aliases; end def attribute_aliases?; end def attribute_method_matchers; end def attribute_method_matchers?; end def cache_timestamp_format; end def cache_timestamp_format?; end def cache_versioning; end def cache_versioning?; end def collection_cache_versioning; end def collection_cache_versioning?; end def column_for_attribute(*_arg0, &_arg1); end def default_connection_handler; end def default_connection_handler?; end def default_role; end def default_role?; end def default_scope_override; end def default_scopes; end def default_shard; end def default_shard?; end def default_timezone; end def defined_enums; end def defined_enums?; end def destroy_association_async_job; end def dump_schema_after_migration; end def dump_schemas; end def error_on_ignored_order; end def include_root_in_json; end def include_root_in_json?; end def index_nested_attribute_errors; end def legacy_connection_handling; end def lock_optimistically; end def lock_optimistically?; end def logger; end def model_name(*_arg0, &_arg1); end def nested_attributes_options; end def nested_attributes_options?; end def partial_writes; end def partial_writes?; end def pluralize_table_names; end def pluralize_table_names?; end def primary_key_prefix_type; end def record_timestamps; end def record_timestamps=(_arg0); end def record_timestamps?; end def schema_format; end def signed_id_verifier_secret; end def skip_time_zone_conversion_for_attributes; end def skip_time_zone_conversion_for_attributes?; end def store_full_class_name; end def store_full_class_name?; end def store_full_sti_class; end def store_full_sti_class?; end def suppress_multiple_database_warning; end def table_name_prefix; end def table_name_prefix?; end def table_name_suffix; end def table_name_suffix?; end def time_zone_aware_attributes; end def time_zone_aware_types; end def time_zone_aware_types?; end def timestamped_migrations; end def type_for_attribute(*_arg0, &_arg1); end def validation_context; end def verbose_query_logs; end def warn_on_records_fetched_greater_than; end private def validation_context=(_arg0); end class << self def __callbacks; end def __callbacks=(value); end def __callbacks?; end def _attr_readonly; end def _attr_readonly=(value); end def _attr_readonly?; end def _before_commit_callbacks; end def _before_commit_callbacks=(value); end def _commit_callbacks; end def _commit_callbacks=(value); end def _create_callbacks; end def _create_callbacks=(value); end def _destroy_callbacks; end def _destroy_callbacks=(value); end def _find_callbacks; end def _find_callbacks=(value); end def _initialize_callbacks; end def _initialize_callbacks=(value); end def _reflections; end def _reflections=(value); end def _reflections?; end def _rollback_callbacks; end def _rollback_callbacks=(value); end def _save_callbacks; end def _save_callbacks=(value); end def _touch_callbacks; end def _touch_callbacks=(value); end def _update_callbacks; end def _update_callbacks=(value); end def _validate_callbacks; end def _validate_callbacks=(value); end def _validation_callbacks; end def _validation_callbacks=(value); end def _validators; end def _validators=(value); end def _validators?; end def action_on_strict_loading_violation; end def action_on_strict_loading_violation=(val); end def after_create(*args, **options, &block); end def after_destroy(*args, **options, &block); end def after_find(*args, **options, &block); end def after_initialize(*args, **options, &block); end def after_save(*args, **options, &block); end def after_touch(*args, **options, &block); end def after_update(*args, **options, &block); end def aggregate_reflections; end def aggregate_reflections=(value); end def aggregate_reflections?; end def allow_unsafe_raw_sql; end def allow_unsafe_raw_sql=(value); end def around_create(*args, **options, &block); end def around_destroy(*args, **options, &block); end def around_save(*args, **options, &block); end def around_update(*args, **options, &block); end def attribute_aliases; end def attribute_aliases=(value); end def attribute_aliases?; end def attribute_method_matchers; end def attribute_method_matchers=(value); end def attribute_method_matchers?; end def attributes_to_define_after_schema_loads; end def attributes_to_define_after_schema_loads=(value); end def attributes_to_define_after_schema_loads?; end def before_create(*args, **options, &block); end def before_destroy(*args, **options, &block); end def before_save(*args, **options, &block); end def before_update(*args, **options, &block); end def belongs_to_required_by_default; end def belongs_to_required_by_default=(value); end def belongs_to_required_by_default?; end def cache_timestamp_format; end def cache_timestamp_format=(value); end def cache_timestamp_format?; end def cache_versioning; end def cache_versioning=(value); end def cache_versioning?; end def collection_cache_versioning; end def collection_cache_versioning=(value); end def collection_cache_versioning?; end def configurations; end def configurations=(config); end def connected_to_stack; end def connection_class; end def connection_class=(b); end def connection_class?; end def connection_classes; end def connection_handler; end def connection_handler=(handler); end def connection_handlers; end def connection_handlers=(handlers); end def current_preventing_writes; end def current_role; end def current_shard; end def default_connection_handler; end def default_connection_handler=(value); end def default_connection_handler?; end def default_role; end def default_role=(value); end def default_role?; end def default_scope_override; end def default_scope_override=(value); end def default_scopes; end def default_scopes=(value); end def default_shard; end def default_shard=(value); end def default_shard?; end def default_timezone; end def default_timezone=(val); end def defined_enums; end def defined_enums=(value); end def defined_enums?; end def destroy_association_async_job; end def destroy_association_async_job=(value); end def dump_schema_after_migration; end def dump_schema_after_migration=(val); end def dump_schemas; end def dump_schemas=(val); end def error_on_ignored_order; end def error_on_ignored_order=(val); end def has_many_inversing; end def has_many_inversing=(val); end def immutable_strings_by_default; end def immutable_strings_by_default=(value); end def immutable_strings_by_default?; end def implicit_order_column; end def implicit_order_column=(value); end def implicit_order_column?; end def include_root_in_json; end def include_root_in_json=(value); end def include_root_in_json?; end def index_nested_attribute_errors; end def index_nested_attribute_errors=(val); end def internal_metadata_table_name; end def internal_metadata_table_name=(value); end def internal_metadata_table_name?; end def legacy_connection_handling; end def legacy_connection_handling=(val); end def local_stored_attributes; end def local_stored_attributes=(_arg0); end def lock_optimistically; end def lock_optimistically=(value); end def lock_optimistically?; end def logger; end def logger=(val); end def maintain_test_schema; end def maintain_test_schema=(val); end def nested_attributes_options; end def nested_attributes_options=(value); end def nested_attributes_options?; end def partial_writes; end def partial_writes=(value); end def partial_writes?; end def pluralize_table_names; end def pluralize_table_names=(value); end def pluralize_table_names?; end def primary_key_prefix_type; end def primary_key_prefix_type=(val); end def queues; end def queues=(val); end def reading_role; end def reading_role=(val); end def record_timestamps; end def record_timestamps=(value); end def record_timestamps?; end def schema_format; end def schema_format=(val); end def schema_migrations_table_name; end def schema_migrations_table_name=(value); end def schema_migrations_table_name?; end def signed_id_verifier_secret; end def signed_id_verifier_secret=(val); end def skip_time_zone_conversion_for_attributes; end def skip_time_zone_conversion_for_attributes=(value); end def skip_time_zone_conversion_for_attributes?; end def store_full_class_name; end def store_full_class_name=(value); end def store_full_class_name?; end def store_full_sti_class; end def store_full_sti_class=(value); end def store_full_sti_class?; end def strict_loading_by_default; end def strict_loading_by_default=(value); end def strict_loading_by_default?; end def strict_loading_violation!(owner:, reflection:); end def suppress_multiple_database_warning; end def suppress_multiple_database_warning=(val); end def table_name_prefix; end def table_name_prefix=(value); end def table_name_prefix?; end def table_name_suffix; end def table_name_suffix=(value); end def table_name_suffix?; end def time_zone_aware_attributes; end def time_zone_aware_attributes=(val); end def time_zone_aware_types; end def time_zone_aware_types=(value); end def time_zone_aware_types?; end def timestamped_migrations; end def timestamped_migrations=(val); end def verbose_query_logs; end def verbose_query_logs=(val); end def warn_on_records_fetched_greater_than; end def warn_on_records_fetched_greater_than=(val); end def writing_role; end def writing_role=(val); end end end module ActiveRecord::Base::GeneratedAssociationMethods; end module ActiveRecord::Base::GeneratedAttributeMethods; end module ActiveRecord::Batches def find_each(start: T.unsafe(nil), finish: T.unsafe(nil), batch_size: T.unsafe(nil), error_on_ignore: T.unsafe(nil), order: T.unsafe(nil)); end def find_in_batches(start: T.unsafe(nil), finish: T.unsafe(nil), batch_size: T.unsafe(nil), error_on_ignore: T.unsafe(nil), order: T.unsafe(nil)); end def in_batches(of: T.unsafe(nil), start: T.unsafe(nil), finish: T.unsafe(nil), load: T.unsafe(nil), error_on_ignore: T.unsafe(nil), order: T.unsafe(nil)); end private def act_on_ignored_order(error_on_ignore); end def apply_finish_limit(relation, finish, order); end def apply_limits(relation, start, finish, order); end def apply_start_limit(relation, start, order); end def batch_order(order); end end class ActiveRecord::Batches::BatchEnumerator include ::Enumerable def initialize(relation:, of: T.unsafe(nil), start: T.unsafe(nil), finish: T.unsafe(nil)); end def delete_all; end def destroy_all; end def each; end def each_record; end def update_all(updates); end end ActiveRecord::Batches::ORDER_IGNORE_MESSAGE = T.let(T.unsafe(nil), String) module ActiveRecord::Calculations def average(column_name); end def calculate(operation, column_name); end def count(column_name = T.unsafe(nil)); end def ids; end def maximum(column_name); end def minimum(column_name); end def pick(*column_names); end def pluck(*column_names); end def sum(column_name = T.unsafe(nil)); end private def aggregate_column(column_name); end def all_attributes?(column_names); end def build_count_subquery(relation, column_name, distinct); end def column_alias_for(field); end def distinct_select?(column_name); end def execute_grouped_calculation(operation, column_name, distinct); end def execute_simple_calculation(operation, column_name, distinct); end def has_include?(column_name); end def lookup_cast_type_from_join_dependencies(name, join_dependencies = T.unsafe(nil)); end def operation_over_aggregate_column(column, operation, distinct); end def perform_calculation(operation, column_name); end def select_for_count; end def type_cast_calculated_value(value, operation); end def type_cast_pluck_values(result, columns); end def type_for(field, &block); end end module ActiveRecord::Callbacks extend ::ActiveSupport::Concern include ::ActiveSupport::Callbacks include ::ActiveModel::Validations::Callbacks mixes_in_class_methods ::ActiveModel::Callbacks mixes_in_class_methods ::ActiveRecord::Callbacks::ClassMethods mixes_in_class_methods ::ActiveModel::Validations::Callbacks::ClassMethods mixes_in_class_methods ::ActiveSupport::Callbacks::ClassMethods mixes_in_class_methods ::ActiveSupport::DescendantsTracker def destroy; end def increment!(attribute, by = T.unsafe(nil), touch: T.unsafe(nil)); end def touch(*_arg0, **_arg1); end private def _create_record; end def _update_record; end def create_or_update(**_arg0); end end ActiveRecord::Callbacks::CALLBACKS = T.let(T.unsafe(nil), Array) module ActiveRecord::Callbacks::ClassMethods include ::ActiveModel::Callbacks end module ActiveRecord::Coders; end class ActiveRecord::Coders::JSON class << self def dump(obj); end def load(json); end end end class ActiveRecord::Coders::YAMLColumn def initialize(attr_name, object_class = T.unsafe(nil)); end def assert_valid_value(obj, action:); end def dump(obj); end def load(yaml); end def object_class; end def object_class=(_arg0); end private def check_arity_of_constructor; end def yaml_load(payload); end end class ActiveRecord::ConcurrentMigrationError < ::ActiveRecord::MigrationError def initialize(message = T.unsafe(nil)); end end ActiveRecord::ConcurrentMigrationError::DEFAULT_MESSAGE = T.let(T.unsafe(nil), String) ActiveRecord::ConcurrentMigrationError::RELEASE_LOCK_FAILED_MESSAGE = T.let(T.unsafe(nil), String) class ActiveRecord::ConfigurationError < ::ActiveRecord::ActiveRecordError; end module ActiveRecord::ConnectionAdapters extend ::ActiveSupport::Autoload end class ActiveRecord::ConnectionAdapters::AbstractAdapter include ::ActiveSupport::Callbacks include ::ActiveRecord::Migration::JoinTable include ::ActiveRecord::ConnectionAdapters::SchemaStatements include ::ActiveRecord::ConnectionAdapters::DatabaseStatements include ::ActiveRecord::ConnectionAdapters::Quoting include ::ActiveRecord::ConnectionAdapters::DatabaseLimits include ::ActiveRecord::ConnectionAdapters::QueryCache include ::ActiveRecord::ConnectionAdapters::Savepoints extend ::ActiveSupport::Callbacks::ClassMethods extend ::ActiveSupport::DescendantsTracker def initialize(connection, logger = T.unsafe(nil), config = T.unsafe(nil)); end def __callbacks; end def __callbacks?; end def _checkin_callbacks; end def _checkout_callbacks; end def _run_checkin_callbacks(&block); end def _run_checkout_callbacks(&block); end def active?; end def adapter_name; end def advisory_locks_enabled?; end def build_insert_sql(insert); end def case_insensitive_comparison(attribute, value); end def case_sensitive_comparison(attribute, value); end def check_version; end def clear_cache!; end def close; end def connection_klass; end def create(*_arg0); end def database_version; end def default_index_type?(index); end def default_uniqueness_comparison(attribute, value); end def delete(*_arg0); end def disable_extension(name); end def disable_referential_integrity; end def discard!; end def disconnect!; end def enable_extension(name); end def exec_insert_all(*_arg0); end def expire; end def extensions; end def get_advisory_lock(lock_id); end def get_database_version; end def in_use?; end def index_algorithms; end def insert(*_arg0); end def lease; end def lock; end def logger; end def migration_context; end def migrations_paths; end def owner; end def pool; end def pool=(_arg0); end def prefetch_primary_key?(table_name = T.unsafe(nil)); end def prepared_statements; end def prepared_statements?; end def prepared_statements_disabled_cache; end def preventing_writes?; end def raw_connection; end def reconnect!; end def release_advisory_lock(lock_id); end def replica?; end def requires_reloading?; end def reset!; end def rollback_db_transaction(*_arg0); end def rollback_to_savepoint(*_arg0); end def schema_cache; end def schema_cache=(cache); end def schema_migration; end def seconds_idle; end def steal!; end def supports_advisory_locks?; end def supports_bulk_alter?; end def supports_check_constraints?; end def supports_comments?; end def supports_comments_in_create?; end def supports_common_table_expressions?; end def supports_datetime_with_precision?; end def supports_ddl_transactions?; end def supports_explain?; end def supports_expression_index?; end def supports_extensions?; end def supports_foreign_keys?; end def supports_foreign_tables?; end def supports_index_sort_order?; end def supports_indexes_in_create?; end def supports_insert_conflict_target?; end def supports_insert_on_duplicate_skip?; end def supports_insert_on_duplicate_update?; end def supports_insert_returning?; end def supports_json?; end def supports_lazy_transactions?; end def supports_materialized_views?; end def supports_optimizer_hints?; end def supports_partial_index?; end def supports_partitioned_indexes?; end def supports_savepoints?; end def supports_transaction_isolation?; end def supports_validate_constraints?; end def supports_views?; end def supports_virtual_columns?; end def throw_away!; end def truncate(*_arg0); end def truncate_tables(*_arg0); end def unprepared_statement; end def update(*_arg0); end def use_metadata_table?; end def valid_type?(type); end def verify!; end def visitor; end private def arel_visitor; end def build_result(columns:, rows:, column_types: T.unsafe(nil)); end def build_statement_pool; end def can_perform_case_insensitive_comparison_for?(column); end def collector; end def column_for(table_name, column_name); end def column_for_attribute(attribute); end def extract_limit(sql_type); end def extract_precision(sql_type); end def extract_scale(sql_type); end def initialize_type_map(m = T.unsafe(nil)); end def log(sql, name = T.unsafe(nil), binds = T.unsafe(nil), type_casted_binds = T.unsafe(nil), statement_name = T.unsafe(nil)); end def register_class_with_limit(mapping, key, klass); end def register_class_with_precision(mapping, key, klass); end def reload_type_map; end def translate_exception(exception, message:, sql:, binds:); end def translate_exception_class(e, sql, binds); end def type_map; end def without_prepared_statement?(binds); end class << self def __callbacks; end def __callbacks=(value); end def __callbacks?; end def _checkin_callbacks; end def _checkin_callbacks=(value); end def _checkout_callbacks; end def _checkout_callbacks=(value); end def build_read_query_regexp(*parts); end def database_exists?(config); end def quoted_column_names; end def quoted_table_names; end def type_cast_config_to_boolean(config); end def type_cast_config_to_integer(config); end end end ActiveRecord::ConnectionAdapters::AbstractAdapter::ADAPTER_NAME = T.let(T.unsafe(nil), String) ActiveRecord::ConnectionAdapters::AbstractAdapter::COMMENT_REGEX = T.let(T.unsafe(nil), Regexp) ActiveRecord::ConnectionAdapters::AbstractAdapter::DEFAULT_READ_QUERY = T.let(T.unsafe(nil), Array) ActiveRecord::ConnectionAdapters::AbstractAdapter::SIMPLE_INT = T.let(T.unsafe(nil), Regexp) class ActiveRecord::ConnectionAdapters::AbstractAdapter::Version include ::Comparable def initialize(version_string, full_version_string = T.unsafe(nil)); end def <=>(version_string); end def full_version_string; end def to_s; end end module ActiveRecord::ConnectionAdapters::AbstractPool def get_schema_cache(connection); end def set_schema_cache(cache); end end class ActiveRecord::ConnectionAdapters::AddColumnDefinition < ::Struct def column; end def column=(_); end class << self def [](*_arg0); end def inspect; end def members; end def new(*_arg0); end end end class ActiveRecord::ConnectionAdapters::AlterTable def initialize(td); end def add_check_constraint(expression, options); end def add_column(name, type, **options); end def add_foreign_key(to_table, options); end def adds; end def check_constraint_adds; end def check_constraint_drops; end def drop_check_constraint(constraint_name); end def drop_foreign_key(name); end def foreign_key_adds; end def foreign_key_drops; end def name; end end class ActiveRecord::ConnectionAdapters::ChangeColumnDefinition < ::Struct def column; end def column=(_); end def name; end def name=(_); end class << self def [](*_arg0); end def inspect; end def members; end def new(*_arg0); end end end class ActiveRecord::ConnectionAdapters::CheckConstraintDefinition < ::Struct def export_name_on_schema_dump?; end def expression; end def expression=(_); end def name; end def options; end def options=(_); end def table_name; end def table_name=(_); end def validate?; end def validated?; end class << self def [](*_arg0); end def inspect; end def members; end def new(*_arg0); end end end class ActiveRecord::ConnectionAdapters::Column include ::ActiveRecord::ConnectionAdapters::Deduplicable extend ::ActiveRecord::ConnectionAdapters::Deduplicable::ClassMethods def initialize(name, default, sql_type_metadata = T.unsafe(nil), null = T.unsafe(nil), default_function = T.unsafe(nil), collation: T.unsafe(nil), comment: T.unsafe(nil), **_arg7); end def ==(other); end def bigint?; end def collation; end def comment; end def default; end def default_function; end def encode_with(coder); end def eql?(other); end def has_default?; end def hash; end def human_name; end def init_with(coder); end def limit(*_arg0, &_arg1); end def name; end def null; end def precision(*_arg0, &_arg1); end def scale(*_arg0, &_arg1); end def sql_type(*_arg0, &_arg1); end def sql_type_metadata; end def type(*_arg0, &_arg1); end private def deduplicated; end end class ActiveRecord::ConnectionAdapters::ColumnDefinition < ::Struct def aliased_types(name, fallback); end def collation; end def collation=(value); end def comment; end def comment=(value); end def default; end def default=(value); end def limit; end def limit=(value); end def name; end def name=(_); end def null; end def null=(value); end def options; end def options=(_); end def precision; end def precision=(value); end def primary_key?; end def scale; end def scale=(value); end def sql_type; end def sql_type=(_); end def type; end def type=(_); end class << self def [](*_arg0); end def inspect; end def members; end def new(*_arg0); end end end module ActiveRecord::ConnectionAdapters::ColumnMethods extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::ConnectionAdapters::ColumnMethods::ClassMethods def primary_key(name, type = T.unsafe(nil), **options); end end module ActiveRecord::ConnectionAdapters::ColumnMethods::ClassMethods private def define_column_methods(*column_types); end end class ActiveRecord::ConnectionAdapters::ConnectionHandler def initialize; end def active_connections?(role = T.unsafe(nil)); end def all_connection_pools; end def clear_active_connections!(role = T.unsafe(nil)); end def clear_all_connections!(role = T.unsafe(nil)); end def clear_reloadable_connections!(role = T.unsafe(nil)); end def connected?(spec_name, role: T.unsafe(nil), shard: T.unsafe(nil)); end def connection_pool_list(role = T.unsafe(nil)); end def connection_pool_names; end def connection_pools(role = T.unsafe(nil)); end def establish_connection(config, owner_name: T.unsafe(nil), role: T.unsafe(nil), shard: T.unsafe(nil)); end def flush_idle_connections!(role = T.unsafe(nil)); end def prevent_writes; end def prevent_writes=(prevent_writes); end def remove_connection(*args, &block); end def remove_connection_pool(owner, role: T.unsafe(nil), shard: T.unsafe(nil)); end def retrieve_connection(spec_name, role: T.unsafe(nil), shard: T.unsafe(nil)); end def retrieve_connection_pool(owner, role: T.unsafe(nil), shard: T.unsafe(nil)); end def while_preventing_writes(enabled = T.unsafe(nil)); end private def get_pool_manager(owner); end def owner_to_pool_manager; end def resolve_pool_config(config, owner_name); end end ActiveRecord::ConnectionAdapters::ConnectionHandler::FINALIZER = T.let(T.unsafe(nil), Proc) class ActiveRecord::ConnectionAdapters::ConnectionPool include ::MonitorMixin include ::ActiveRecord::ConnectionAdapters::QueryCache::ConnectionPoolConfiguration include ::ActiveRecord::ConnectionAdapters::AbstractPool def initialize(pool_config); end def active_connection?; end def automatic_reconnect; end def automatic_reconnect=(_arg0); end def checkin(conn); end def checkout(checkout_timeout = T.unsafe(nil)); end def checkout_timeout; end def checkout_timeout=(_arg0); end def clear_reloadable_connections(raise_on_acquisition_timeout = T.unsafe(nil)); end def clear_reloadable_connections!; end def connected?; end def connection; end def connection_klass; end def connections; end def db_config; end def discard!; end def discarded?; end def disconnect(raise_on_acquisition_timeout = T.unsafe(nil)); end def disconnect!; end def flush(minimum_idle = T.unsafe(nil)); end def flush!; end def lock_thread=(lock_thread); end def num_waiting_in_queue; end def pool_config; end def reap; end def reaper; end def release_connection(owner_thread = T.unsafe(nil)); end def remove(conn); end def schema_cache(*_arg0, &_arg1); end def schema_cache=(arg); end def size; end def stat; end def with_connection; end private def acquire_connection(checkout_timeout); end def adopt_connection(conn); end def attempt_to_checkout_all_existing_connections(raise_on_acquisition_timeout = T.unsafe(nil)); end def bulk_make_new_connections(num_new_conns_needed); end def checkout_and_verify(c); end def checkout_for_exclusive_access(checkout_timeout); end def checkout_new_connection; end def connection_cache_key(thread); end def current_thread; end def new_connection; end def release(conn, owner_thread = T.unsafe(nil)); end def remove_connection_from_thread_cache(conn, owner_thread = T.unsafe(nil)); end def try_to_checkout_new_connection; end def with_exclusively_acquired_all_connections(raise_on_acquisition_timeout = T.unsafe(nil)); end def with_new_connections_blocked; end end module ActiveRecord::ConnectionAdapters::ConnectionPool::BiasableQueue def with_a_bias_for(thread); end end class ActiveRecord::ConnectionAdapters::ConnectionPool::BiasableQueue::BiasedConditionVariable def initialize(lock, other_cond, preferred_thread); end def broadcast; end def broadcast_on_biased; end def signal; end def wait(timeout); end end class ActiveRecord::ConnectionAdapters::ConnectionPool::ConnectionLeasingQueue < ::ActiveRecord::ConnectionAdapters::ConnectionPool::Queue include ::ActiveRecord::ConnectionAdapters::ConnectionPool::BiasableQueue private def internal_poll(timeout); end end class ActiveRecord::ConnectionAdapters::ConnectionPool::Queue def initialize(lock = T.unsafe(nil)); end def add(element); end def any_waiting?; end def clear; end def delete(element); end def num_waiting; end def poll(timeout = T.unsafe(nil)); end private def any?; end def can_remove_no_wait?; end def internal_poll(timeout); end def no_wait_poll; end def remove; end def synchronize(&block); end def wait_poll(timeout); end end class ActiveRecord::ConnectionAdapters::ConnectionPool::Reaper def initialize(pool, frequency); end def frequency; end def pool; end def run; end class << self def register_pool(pool, frequency); end private def spawn_thread(frequency); end end end class ActiveRecord::ConnectionAdapters::CreateIndexDefinition < ::Struct def algorithm; end def algorithm=(_); end def if_not_exists; end def if_not_exists=(_); end def index; end def index=(_); end class << self def [](*_arg0); end def inspect; end def members; end def new(*_arg0); end end end module ActiveRecord::ConnectionAdapters::DatabaseLimits def allowed_index_name_length(*args, &block); end def in_clause_length(*args, &block); end def index_name_length; end def max_identifier_length; end def table_alias_length; end private def bind_params_length; end end module ActiveRecord::ConnectionAdapters::DatabaseStatements def initialize; end def add_transaction_record(record, ensure_finalize = T.unsafe(nil)); end def begin_db_transaction; end def begin_isolated_db_transaction(isolation); end def begin_transaction(*_arg0, &_arg1); end def cacheable_query(klass, arel); end def commit_db_transaction; end def commit_transaction(*_arg0, &_arg1); end def create(arel, name = T.unsafe(nil), pk = T.unsafe(nil), id_value = T.unsafe(nil), sequence_name = T.unsafe(nil), binds = T.unsafe(nil)); end def current_transaction(*_arg0, &_arg1); end def default_sequence_name(table, column); end def delete(arel, name = T.unsafe(nil), binds = T.unsafe(nil)); end def disable_lazy_transactions!(*_arg0, &_arg1); end def empty_insert_statement_value(primary_key = T.unsafe(nil)); end def enable_lazy_transactions!(*_arg0, &_arg1); end def exec_delete(sql, name = T.unsafe(nil), binds = T.unsafe(nil)); end def exec_insert(sql, name = T.unsafe(nil), binds = T.unsafe(nil), pk = T.unsafe(nil), sequence_name = T.unsafe(nil)); end def exec_insert_all(sql, name); end def exec_query(sql, name = T.unsafe(nil), binds = T.unsafe(nil), prepare: T.unsafe(nil)); end def exec_rollback_db_transaction; end def exec_update(sql, name = T.unsafe(nil), binds = T.unsafe(nil)); end def execute(sql, name = T.unsafe(nil)); end def explain(arel, binds = T.unsafe(nil)); end def insert(arel, name = T.unsafe(nil), pk = T.unsafe(nil), id_value = T.unsafe(nil), sequence_name = T.unsafe(nil), binds = T.unsafe(nil)); end def insert_fixture(fixture, table_name); end def insert_fixtures_set(fixture_set, tables_to_delete = T.unsafe(nil)); end def mark_transaction_written_if_write(sql); end def materialize_transactions(*_arg0, &_arg1); end def open_transactions(*_arg0, &_arg1); end def query(sql, name = T.unsafe(nil)); end def query_value(sql, name = T.unsafe(nil)); end def query_values(sql, name = T.unsafe(nil)); end def reset_sequence!(table, column, sequence = T.unsafe(nil)); end def reset_transaction; end def rollback_db_transaction; end def rollback_to_savepoint(name = T.unsafe(nil)); end def rollback_transaction(*_arg0, &_arg1); end def sanitize_limit(limit); end def select_all(arel, name = T.unsafe(nil), binds = T.unsafe(nil), preparable: T.unsafe(nil)); end def select_one(arel, name = T.unsafe(nil), binds = T.unsafe(nil)); end def select_rows(arel, name = T.unsafe(nil), binds = T.unsafe(nil)); end def select_value(arel, name = T.unsafe(nil), binds = T.unsafe(nil)); end def select_values(arel, name = T.unsafe(nil), binds = T.unsafe(nil)); end def to_sql(arel_or_sql_string, binds = T.unsafe(nil)); end def transaction(requires_new: T.unsafe(nil), isolation: T.unsafe(nil), joinable: T.unsafe(nil)); end def transaction_isolation_levels; end def transaction_manager; end def transaction_open?; end def truncate(table_name, name = T.unsafe(nil)); end def truncate_tables(*table_names); end def update(arel, name = T.unsafe(nil), binds = T.unsafe(nil)); end def with_yaml_fallback(value); end def within_new_transaction(*_arg0, &_arg1); end def write_query?(sql); end private def arel_from_relation(relation); end def build_fixture_sql(fixtures, table_name); end def build_fixture_statements(fixture_set); end def build_truncate_statement(table_name); end def build_truncate_statements(table_names); end def combine_multi_statements(total_sql); end def default_insert_value(column); end def execute_batch(statements, name = T.unsafe(nil)); end def last_inserted_id(result); end def select(sql, name = T.unsafe(nil), binds = T.unsafe(nil)); end def select_prepared(sql, name = T.unsafe(nil), binds = T.unsafe(nil)); end def single_value_from_rows(rows); end def sql_for_insert(sql, pk, binds); end def to_sql_and_binds(arel_or_sql_string, binds = T.unsafe(nil), preparable = T.unsafe(nil)); end def with_multi_statements; end end ActiveRecord::ConnectionAdapters::DatabaseStatements::DEFAULT_INSERT_VALUE = T.let(T.unsafe(nil), Arel::Nodes::SqlLiteral) module ActiveRecord::ConnectionAdapters::Deduplicable extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::ConnectionAdapters::Deduplicable::ClassMethods def -@; end def deduplicate; end private def deduplicated; end end module ActiveRecord::ConnectionAdapters::Deduplicable::ClassMethods def new(*_arg0, **_arg1); end def registry; end end class ActiveRecord::ConnectionAdapters::ForeignKeyDefinition < ::Struct def column; end def custom_primary_key?; end def defined_for?(to_table: T.unsafe(nil), validate: T.unsafe(nil), **options); end def export_name_on_schema_dump?; end def from_table; end def from_table=(_); end def name; end def on_delete; end def on_update; end def options; end def options=(_); end def primary_key; end def to_table; end def to_table=(_); end def validate?; end def validated?; end private def default_primary_key; end class << self def [](*_arg0); end def inspect; end def members; end def new(*_arg0); end end end class ActiveRecord::ConnectionAdapters::IndexDefinition def initialize(table, name, unique = T.unsafe(nil), columns = T.unsafe(nil), lengths: T.unsafe(nil), orders: T.unsafe(nil), opclasses: T.unsafe(nil), where: T.unsafe(nil), type: T.unsafe(nil), using: T.unsafe(nil), comment: T.unsafe(nil)); end def column_options; end def columns; end def comment; end def lengths; end def name; end def opclasses; end def orders; end def table; end def type; end def unique; end def using; end def where; end private def concise_options(options); end end class ActiveRecord::ConnectionAdapters::LegacyPoolManager def initialize; end def get_pool_config(_, shard); end def pool_configs(_ = T.unsafe(nil)); end def remove_pool_config(_, shard); end def set_pool_config(role, shard, pool_config); end def shard_names; end end class ActiveRecord::ConnectionAdapters::NullColumn < ::ActiveRecord::ConnectionAdapters::Column def initialize(name, **_arg1); end end class ActiveRecord::ConnectionAdapters::NullPool include ::ActiveRecord::ConnectionAdapters::AbstractPool def connection_klass; end def schema_cache; end def schema_cache=(_arg0); end end class ActiveRecord::ConnectionAdapters::NullTransaction def initialize; end def add_record(record, _ = T.unsafe(nil)); end def closed?; end def joinable?; end def open?; end def state; end end class ActiveRecord::ConnectionAdapters::PoolConfig include ::Mutex_m def initialize(connection_klass, db_config); end def connection_klass; end def connection_specification_name; end def db_config; end def discard_pool!; end def disconnect!; end def lock; end def locked?; end def pool; end def schema_cache; end def schema_cache=(_arg0); end def synchronize(&block); end def try_lock; end def unlock; end class << self def discard_pools!; end end end ActiveRecord::ConnectionAdapters::PoolConfig::INSTANCES = T.let(T.unsafe(nil), ObjectSpace::WeakMap[T.untyped]) class ActiveRecord::ConnectionAdapters::PoolManager def initialize; end def get_pool_config(role, shard); end def pool_configs(role = T.unsafe(nil)); end def remove_pool_config(role, shard); end def remove_role(role); end def role_names; end def set_pool_config(role, shard, pool_config); end def shard_names; end end class ActiveRecord::ConnectionAdapters::PrimaryKeyDefinition < ::Struct def name; end def name=(_); end class << self def [](*_arg0); end def inspect; end def members; end def new(*_arg0); end end end module ActiveRecord::ConnectionAdapters::QueryCache def initialize(*_arg0); end def cache; end def clear_query_cache; end def disable_query_cache!; end def enable_query_cache!; end def query_cache; end def query_cache_enabled; end def select_all(arel, name = T.unsafe(nil), binds = T.unsafe(nil), preparable: T.unsafe(nil)); end def uncached; end private def cache_notification_info(sql, name, binds); end def cache_sql(sql, name, binds); end def configure_query_cache!; end def locked?(arel); end class << self def dirties_query_cache(base, *method_names); end def included(base); end end end module ActiveRecord::ConnectionAdapters::QueryCache::ConnectionPoolConfiguration def initialize(*_arg0); end def disable_query_cache!; end def enable_query_cache!; end def query_cache_enabled; end end module ActiveRecord::ConnectionAdapters::Quoting def column_name_matcher; end def column_name_with_order_matcher; end def lookup_cast_type_from_column(column); end def quote(value); end def quote_column_name(column_name); end def quote_default_expression(value, column); end def quote_string(s); end def quote_table_name(table_name); end def quote_table_name_for_assignment(table, attr); end def quoted_binary(value); end def quoted_date(value); end def quoted_false; end def quoted_time(value); end def quoted_true; end def sanitize_as_sql_comment(value); end def type_cast(value, column = T.unsafe(nil)); end def unquoted_false; end def unquoted_true; end private def _quote(value); end def _type_cast(value); end def lookup_cast_type(sql_type); end def type_casted_binds(binds); end end ActiveRecord::ConnectionAdapters::Quoting::COLUMN_NAME = T.let(T.unsafe(nil), Regexp) ActiveRecord::ConnectionAdapters::Quoting::COLUMN_NAME_WITH_ORDER = T.let(T.unsafe(nil), Regexp) class ActiveRecord::ConnectionAdapters::RealTransaction < ::ActiveRecord::ConnectionAdapters::Transaction def commit; end def materialize!; end def rollback; end end class ActiveRecord::ConnectionAdapters::ReferenceDefinition def initialize(name, polymorphic: T.unsafe(nil), index: T.unsafe(nil), foreign_key: T.unsafe(nil), type: T.unsafe(nil), **options); end def add_to(table); end private def as_options(value); end def column_name; end def column_names; end def columns; end def foreign_key; end def foreign_key_options; end def foreign_table_name; end def index; end def index_options(table_name); end def name; end def options; end def polymorphic; end def polymorphic_index_name(table_name); end def polymorphic_options; end def type; end end class ActiveRecord::ConnectionAdapters::SavepointTransaction < ::ActiveRecord::ConnectionAdapters::Transaction def initialize(connection, savepoint_name, parent_transaction, **options); end def commit; end def full_rollback?; end def materialize!; end def rollback; end end module ActiveRecord::ConnectionAdapters::Savepoints def create_savepoint(name = T.unsafe(nil)); end def current_savepoint_name; end def exec_rollback_to_savepoint(name = T.unsafe(nil)); end def release_savepoint(name = T.unsafe(nil)); end end class ActiveRecord::ConnectionAdapters::SchemaCache def initialize(conn); end def add(table_name); end def clear!; end def clear_data_source_cache!(name); end def columns(table_name); end def columns_hash(table_name); end def columns_hash?(table_name); end def connection; end def connection=(_arg0); end def data_source_exists?(name); end def data_sources(name); end def database_version; end def dump_to(filename); end def encode_with(coder); end def indexes(table_name); end def init_with(coder); end def marshal_dump; end def marshal_load(array); end def primary_keys(table_name); end def size; end def version; end private def deep_deduplicate(value); end def derive_columns_hash_and_deduplicate_values; end def initialize_dup(other); end def open(filename); end def prepare_data_sources; end def reset_version!; end class << self def load_from(filename); end private def read(filename, &block); end end end class ActiveRecord::ConnectionAdapters::SchemaCreation def initialize(conn); end def accept(o); end private def action_sql(action, dependency); end def add_column_options!(sql, options); end def add_table_options!(create_sql, o); end def check_constraint_in_create(table_name, expression, options); end def check_constraint_options(*_arg0, &_arg1); end def column_options(o); end def foreign_key_in_create(from_table, to_table, options); end def foreign_key_options(*_arg0, &_arg1); end def options_include_default?(*_arg0, &_arg1); end def quote_column_name(*_arg0, &_arg1); end def quote_default_expression(*_arg0, &_arg1); end def quote_table_name(*_arg0, &_arg1); end def quoted_columns(o); end def quoted_columns_for_index(*_arg0, &_arg1); end def supports_check_constraints?(*_arg0, &_arg1); end def supports_foreign_keys?(*_arg0, &_arg1); end def supports_index_using?; end def supports_indexes_in_create?(*_arg0, &_arg1); end def supports_partial_index?(*_arg0, &_arg1); end def table_modifier_in_create(o); end def to_sql(sql); end def type_to_sql(*_arg0, &_arg1); end def visit_AddCheckConstraint(o); end def visit_AddColumnDefinition(o); end def visit_AddForeignKey(o); end def visit_AlterTable(o); end def visit_CheckConstraintDefinition(o); end def visit_ColumnDefinition(o); end def visit_CreateIndexDefinition(o); end def visit_DropCheckConstraint(name); end def visit_DropForeignKey(name); end def visit_ForeignKeyDefinition(o); end def visit_PrimaryKeyDefinition(o); end def visit_TableDefinition(o); end end class ActiveRecord::ConnectionAdapters::SchemaDumper < ::ActiveRecord::SchemaDumper private def column_spec(column); end def column_spec_for_primary_key(column); end def default_primary_key?(column); end def explicit_primary_key_default?(column); end def prepare_column_options(column); end def schema_collation(column); end def schema_default(column); end def schema_expression(column); end def schema_limit(column); end def schema_precision(column); end def schema_scale(column); end def schema_type(column); end def schema_type_with_virtual(column); end class << self def create(connection, options); end end end module ActiveRecord::ConnectionAdapters::SchemaStatements include ::ActiveRecord::Migration::JoinTable def add_belongs_to(table_name, ref_name, **options); end def add_check_constraint(table_name, expression, **options); end def add_column(table_name, column_name, type, **options); end def add_columns(table_name, *column_names, type:, **options); end def add_foreign_key(from_table, to_table, **options); end def add_index(table_name, column_name, **options); end def add_index_options(table_name, column_name, name: T.unsafe(nil), if_not_exists: T.unsafe(nil), internal: T.unsafe(nil), **options); end def add_reference(table_name, ref_name, **options); end def add_timestamps(table_name, **options); end def assume_migrated_upto_version(version); end def change_column(table_name, column_name, type, **options); end def change_column_comment(table_name, column_name, comment_or_changes); end def change_column_default(table_name, column_name, default_or_changes); end def change_column_null(table_name, column_name, null, default = T.unsafe(nil)); end def change_table(table_name, **options); end def change_table_comment(table_name, comment_or_changes); end def check_constraint_options(table_name, expression, options); end def check_constraints(table_name); end def column_exists?(table_name, column_name, type = T.unsafe(nil), **options); end def columns(table_name); end def columns_for_distinct(columns, orders); end def create_join_table(table_1, table_2, column_options: T.unsafe(nil), **options); end def create_schema_dumper(options); end def create_table(table_name, id: T.unsafe(nil), primary_key: T.unsafe(nil), force: T.unsafe(nil), **options); end def data_source_exists?(name); end def data_sources; end def drop_join_table(table_1, table_2, **options); end def drop_table(table_name, **options); end def dump_schema_information; end def foreign_key_column_for(table_name); end def foreign_key_exists?(from_table, to_table = T.unsafe(nil), **options); end def foreign_key_options(from_table, to_table, options); end def foreign_keys(table_name); end def index_algorithm(algorithm); end def index_exists?(table_name, column_name, **options); end def index_name(table_name, options); end def index_name_exists?(table_name, index_name); end def indexes(table_name); end def internal_string_options_for_primary_key; end def native_database_types; end def options_include_default?(options); end def primary_key(table_name); end def quoted_columns_for_index(column_names, options); end def remove_belongs_to(table_name, ref_name, foreign_key: T.unsafe(nil), polymorphic: T.unsafe(nil), **options); end def remove_check_constraint(table_name, expression = T.unsafe(nil), **options); end def remove_column(table_name, column_name, type = T.unsafe(nil), **options); end def remove_columns(table_name, *column_names, type: T.unsafe(nil), **options); end def remove_foreign_key(from_table, to_table = T.unsafe(nil), **options); end def remove_index(table_name, column_name = T.unsafe(nil), **options); end def remove_reference(table_name, ref_name, foreign_key: T.unsafe(nil), polymorphic: T.unsafe(nil), **options); end def remove_timestamps(table_name, **options); end def rename_column(table_name, column_name, new_column_name); end def rename_index(table_name, old_name, new_name); end def rename_table(table_name, new_name); end def table_alias_for(table_name); end def table_comment(table_name); end def table_exists?(table_name); end def table_options(table_name); end def tables; end def type_to_sql(type, limit: T.unsafe(nil), precision: T.unsafe(nil), scale: T.unsafe(nil), **_arg4); end def update_table_definition(table_name, base); end def view_exists?(view_name); end def views; end private def add_column_for_alter(table_name, column_name, type, **options); end def add_index_sort_order(quoted_columns, **options); end def add_options_for_index_columns(quoted_columns, **options); end def add_timestamps_for_alter(table_name, **options); end def bulk_change_table(table_name, operations); end def can_remove_index_by_name?(column_name, options); end def check_constraint_for(table_name, **options); end def check_constraint_for!(table_name, expression: T.unsafe(nil), **options); end def check_constraint_name(table_name, **options); end def column_options_keys; end def create_alter_table(name); end def create_table_definition(name, **options); end def data_source_sql(name = T.unsafe(nil), type: T.unsafe(nil)); end def extract_foreign_key_action(specifier); end def extract_new_comment_value(default_or_changes); end def extract_new_default_value(default_or_changes); end def extract_table_options!(options); end def fetch_type_metadata(sql_type); end def foreign_key_for(from_table, **options); end def foreign_key_for!(from_table, to_table: T.unsafe(nil), **options); end def foreign_key_name(table_name, options); end def index_column_names(column_names); end def index_name_for_remove(table_name, column_name, options); end def index_name_options(column_names); end def insert_versions_sql(versions); end def options_for_index_columns(options); end def quoted_scope(name = T.unsafe(nil), type: T.unsafe(nil)); end def remove_column_for_alter(table_name, column_name, type = T.unsafe(nil), **options); end def remove_columns_for_alter(table_name, *column_names, **options); end def remove_timestamps_for_alter(table_name, **options); end def rename_column_indexes(table_name, column_name, new_column_name); end def rename_column_sql(table_name, column_name, new_column_name); end def rename_table_indexes(table_name, new_name); end def schema_creation; end def strip_table_name_prefix_and_suffix(table_name); end def validate_index_length!(table_name, new_name, internal = T.unsafe(nil)); end end class ActiveRecord::ConnectionAdapters::SqlTypeMetadata include ::ActiveRecord::ConnectionAdapters::Deduplicable extend ::ActiveRecord::ConnectionAdapters::Deduplicable::ClassMethods def initialize(sql_type: T.unsafe(nil), type: T.unsafe(nil), limit: T.unsafe(nil), precision: T.unsafe(nil), scale: T.unsafe(nil)); end def ==(other); end def eql?(other); end def hash; end def limit; end def precision; end def scale; end def sql_type; end def type; end private def deduplicated; end end class ActiveRecord::ConnectionAdapters::Table include ::ActiveRecord::ConnectionAdapters::ColumnMethods extend ::ActiveRecord::ConnectionAdapters::ColumnMethods::ClassMethods def initialize(table_name, base); end def belongs_to(*args, **options); end def bigint(*names, **options); end def binary(*names, **options); end def boolean(*names, **options); end def change(column_name, type, **options); end def change_default(column_name, default_or_changes); end def change_null(column_name, null, default = T.unsafe(nil)); end def check_constraint(*args); end def column(column_name, type, index: T.unsafe(nil), **options); end def column_exists?(column_name, type = T.unsafe(nil), **options); end def date(*names, **options); end def datetime(*names, **options); end def decimal(*names, **options); end def float(*names, **options); end def foreign_key(*args, **options); end def foreign_key_exists?(*args, **options); end def index(column_name, **options); end def index_exists?(column_name, options = T.unsafe(nil)); end def integer(*names, **options); end def json(*names, **options); end def name; end def numeric(*names, **options); end def references(*args, **options); end def remove(*column_names, **options); end def remove_belongs_to(*args, **options); end def remove_check_constraint(*args); end def remove_foreign_key(*args, **options); end def remove_index(column_name = T.unsafe(nil), **options); end def remove_references(*args, **options); end def remove_timestamps(**options); end def rename(column_name, new_column_name); end def rename_index(index_name, new_index_name); end def string(*names, **options); end def text(*names, **options); end def time(*names, **options); end def timestamp(*names, **options); end def timestamps(**options); end def virtual(*names, **options); end end class ActiveRecord::ConnectionAdapters::TableDefinition include ::ActiveRecord::ConnectionAdapters::ColumnMethods extend ::ActiveRecord::ConnectionAdapters::ColumnMethods::ClassMethods def initialize(conn, name, temporary: T.unsafe(nil), if_not_exists: T.unsafe(nil), options: T.unsafe(nil), as: T.unsafe(nil), comment: T.unsafe(nil), **_arg7); end def [](name); end def as; end def belongs_to(*args, **options); end def bigint(*names, **options); end def binary(*names, **options); end def boolean(*names, **options); end def check_constraint(expression, **options); end def check_constraints; end def column(name, type, index: T.unsafe(nil), **options); end def columns; end def comment; end def date(*names, **options); end def datetime(*names, **options); end def decimal(*names, **options); end def float(*names, **options); end def foreign_key(table_name, **options); end def foreign_keys; end def if_not_exists; end def index(column_name, **options); end def indexes; end def integer(*names, **options); end def json(*names, **options); end def name; end def new_column_definition(name, type, **options); end def numeric(*names, **options); end def options; end def primary_keys(name = T.unsafe(nil)); end def references(*args, **options); end def remove_column(name); end def string(*names, **options); end def temporary; end def text(*names, **options); end def time(*names, **options); end def timestamp(*names, **options); end def timestamps(**options); end def virtual(*names, **options); end private def aliased_types(name, fallback); end def create_column_definition(name, type, options); end def integer_like_primary_key?(type, options); end def integer_like_primary_key_type(type, options); end end class ActiveRecord::ConnectionAdapters::Transaction def initialize(connection, isolation: T.unsafe(nil), joinable: T.unsafe(nil), run_commit_callbacks: T.unsafe(nil)); end def add_record(record, ensure_finalize = T.unsafe(nil)); end def before_commit_records; end def closed?; end def commit_records; end def connection; end def full_rollback?; end def isolation_level; end def joinable?; end def materialize!; end def materialized?; end def open?; end def records; end def rollback_records; end def savepoint_name; end def state; end def written; end def written=(_arg0); end end class ActiveRecord::ConnectionAdapters::TransactionManager def initialize(connection); end def begin_transaction(isolation: T.unsafe(nil), joinable: T.unsafe(nil), _lazy: T.unsafe(nil)); end def commit_transaction; end def current_transaction; end def disable_lazy_transactions!; end def enable_lazy_transactions!; end def lazy_transactions_enabled?; end def materialize_transactions; end def open_transactions; end def rollback_transaction(transaction = T.unsafe(nil)); end def within_new_transaction(isolation: T.unsafe(nil), joinable: T.unsafe(nil)); end private def after_failure_actions(transaction, error); end end ActiveRecord::ConnectionAdapters::TransactionManager::NULL_TRANSACTION = T.let(T.unsafe(nil), ActiveRecord::ConnectionAdapters::NullTransaction) class ActiveRecord::ConnectionAdapters::TransactionState def initialize(state = T.unsafe(nil)); end def add_child(state); end def commit!; end def committed?; end def completed?; end def finalized?; end def full_commit!; end def full_rollback!; end def fully_committed?; end def fully_completed?; end def fully_rolledback?; end def invalidate!; end def invalidated?; end def nullify!; end def rollback!; end def rolledback?; end end module ActiveRecord::ConnectionHandling def clear_active_connections!(*_arg0, &_arg1); end def clear_all_connections!(*_arg0, &_arg1); end def clear_cache!; end def clear_query_caches_for_current_thread; end def clear_reloadable_connections!(*_arg0, &_arg1); end def connected?; end def connected_to(database: T.unsafe(nil), role: T.unsafe(nil), shard: T.unsafe(nil), prevent_writes: T.unsafe(nil), &blk); end def connected_to?(role:, shard: T.unsafe(nil)); end def connected_to_many(*classes, role:, shard: T.unsafe(nil), prevent_writes: T.unsafe(nil)); end def connecting_to(role: T.unsafe(nil), shard: T.unsafe(nil), prevent_writes: T.unsafe(nil)); end def connection; end def connection_config(*args, &block); end def connection_db_config; end def connection_pool; end def connection_specification_name; end def connection_specification_name=(_arg0); end def connects_to(database: T.unsafe(nil), shards: T.unsafe(nil)); end def establish_connection(config_or_env = T.unsafe(nil)); end def flush_idle_connections!(*_arg0, &_arg1); end def lookup_connection_handler(handler_key); end def primary_class?; end def remove_connection(name = T.unsafe(nil)); end def retrieve_connection; end def while_preventing_writes(enabled = T.unsafe(nil), &block); end private def clear_on_handler(handler); end def resolve_config_for_connection(config_or_env); end def swap_connection_handler(handler, &blk); end def with_handler(handler_key, &blk); end def with_role_and_shard(role, shard, prevent_writes); end end ActiveRecord::ConnectionHandling::DEFAULT_ENV = T.let(T.unsafe(nil), Proc) ActiveRecord::ConnectionHandling::RAILS_ENV = T.let(T.unsafe(nil), Proc) class ActiveRecord::ConnectionNotEstablished < ::ActiveRecord::ActiveRecordError; end class ActiveRecord::ConnectionTimeoutError < ::ActiveRecord::ConnectionNotEstablished; end module ActiveRecord::Core extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::Core::ClassMethods def initialize(attributes = T.unsafe(nil)); end def <=>(other_object); end def ==(comparison_object); end def blank?; end def connection_handler; end def encode_with(coder); end def eql?(comparison_object); end def freeze; end def frozen?; end def hash; end def init_with(coder, &block); end def init_with_attributes(attributes, new_record = T.unsafe(nil)); end def inspect; end def present?; end def pretty_print(pp); end def readonly!; end def readonly?; end def slice(*methods); end def strict_loading!; end def strict_loading?; end def values_at(*methods); end private def custom_inspect_method_defined?; end def init_internals; end def initialize_dup(other); end def initialize_internals_callback; end def inspection_filter; end def to_ary; end end module ActiveRecord::Core::ClassMethods def ===(object); end def _internal?; end def arel_attribute(*args, &block); end def arel_table; end def cached_find_by_statement(key, &block); end def filter_attributes; end def filter_attributes=(filter_attributes); end def find(*ids); end def find_by(*args); end def find_by!(*args); end def generated_association_methods; end def inherited(child_class); end def initialize_find_by_cache; end def initialize_generated_modules; end def inspect; end def inspection_filter; end def predicate_builder; end def type_caster; end private def relation; end def table_metadata; end end class ActiveRecord::Core::InspectionMask def pretty_print(pp); end end module ActiveRecord::CounterCache extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::CounterCache::ClassMethods private def _create_record(attribute_names = T.unsafe(nil)); end def destroy_row; end def each_counter_cached_associations; end end module ActiveRecord::CounterCache::ClassMethods def decrement_counter(counter_name, id, touch: T.unsafe(nil)); end def increment_counter(counter_name, id, touch: T.unsafe(nil)); end def reset_counters(id, *counters, touch: T.unsafe(nil)); end def update_counters(id, counters); end end class ActiveRecord::DangerousAttributeError < ::ActiveRecord::ActiveRecordError; end class ActiveRecord::DatabaseAlreadyExists < ::ActiveRecord::StatementInvalid; end class ActiveRecord::DatabaseConfigurations def initialize(configurations = T.unsafe(nil)); end def [](*args, &block); end def any?(*_arg0, &_arg1); end def blank?; end def configs_for(env_name: T.unsafe(nil), spec_name: T.unsafe(nil), name: T.unsafe(nil), include_replicas: T.unsafe(nil)); end def configurations; end def default_hash(*args, &block); end def empty?; end def find_db_config(env); end def primary?(name); end def resolve(config); end def to_h(*args, &block); end private def build_configs(configs); end def build_configuration_sentence; end def build_db_config_from_hash(env_name, name, config); end def build_db_config_from_raw_config(env_name, name, config); end def build_db_config_from_string(env_name, name, config); end def default_env; end def env_with_configs(env = T.unsafe(nil)); end def environment_url_config(env, name, config); end def environment_value_for(name); end def merge_db_environment_variables(current_env, configs); end def resolve_symbol_connection(name); end def walk_configs(env_name, config); end end class ActiveRecord::DatabaseConfigurations::ConnectionUrlResolver def initialize(url); end def to_hash; end private def database_from_path; end def query_hash; end def raw_config; end def uri; end def uri_parser; end end class ActiveRecord::DatabaseConfigurations::DatabaseConfig def initialize(env_name, name); end def _database=(database); end def adapter; end def adapter_method; end def checkout_timeout; end def config; end def database; end def env_name; end def for_current_env?; end def host; end def idle_timeout; end def migrations_paths; end def name; end def owner_name; end def owner_name=(_arg0); end def pool; end def reaping_frequency; end def replica?; end def schema_cache_path; end def spec_name(*args, &block); end end class ActiveRecord::DatabaseConfigurations::HashConfig < ::ActiveRecord::DatabaseConfigurations::DatabaseConfig def initialize(env_name, name, configuration_hash); end def _database=(database); end def adapter; end def checkout_timeout; end def config; end def configuration_hash; end def database; end def host; end def idle_timeout; end def migrations_paths; end def pool; end def reaping_frequency; end def replica?; end def schema_cache_path; end end class ActiveRecord::DatabaseConfigurations::InvalidConfigurationError < ::StandardError; end class ActiveRecord::DatabaseConfigurations::UrlConfig < ::ActiveRecord::DatabaseConfigurations::HashConfig def initialize(env_name, name, url, configuration_hash = T.unsafe(nil)); end def url; end private def build_url_hash; end end class ActiveRecord::Deadlocked < ::ActiveRecord::TransactionRollbackError; end module ActiveRecord::DelegatedType def delegated_type(role, types:, **options); end private def define_delegated_type_methods(role, types:); end end module ActiveRecord::Delegation extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::Delegation::ClassMethods def &(*_arg0, &_arg1); end def +(*_arg0, &_arg1); end def -(*_arg0, &_arg1); end def [](*_arg0, &_arg1); end def as_json(*_arg0, &_arg1); end def compact(*_arg0, &_arg1); end def connection(*_arg0, &_arg1); end def each(*_arg0, &_arg1); end def encode_with(*_arg0, &_arg1); end def in_groups(*_arg0, &_arg1); end def in_groups_of(*_arg0, &_arg1); end def index(*_arg0, &_arg1); end def join(*_arg0, &_arg1); end def length(*_arg0, &_arg1); end def primary_key(*_arg0, &_arg1); end def reverse(*_arg0, &_arg1); end def rindex(*_arg0, &_arg1); end def rotate(*_arg0, &_arg1); end def sample(*_arg0, &_arg1); end def shuffle(*_arg0, &_arg1); end def slice(*_arg0, &_arg1); end def split(*_arg0, &_arg1); end def to_formatted_s(*_arg0, &_arg1); end def to_sentence(*_arg0, &_arg1); end def to_xml(*_arg0, &_arg1); end def |(*_arg0, &_arg1); end private def respond_to_missing?(method, _); end end module ActiveRecord::Delegation::ClassMethods def create(klass, *args, **kwargs); end private def relation_class_for(klass); end end module ActiveRecord::Delegation::ClassSpecificRelation extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::Delegation::ClassSpecificRelation::ClassMethods private def method_missing(method, *args, &block); end end module ActiveRecord::Delegation::ClassSpecificRelation::ClassMethods def name; end end module ActiveRecord::Delegation::DelegateCache def generate_relation_method(method); end def inherited(child_class); end def initialize_relation_delegate_cache; end def relation_delegate_class(klass); end protected def include_relation_methods(delegate); end private def generated_relation_methods; end end class ActiveRecord::Delegation::GeneratedRelationMethods < ::Module include ::Mutex_m def generate_method(method); end def lock; end def locked?; end def synchronize(&block); end def try_lock; end def unlock; end end class ActiveRecord::DeleteRestrictionError < ::ActiveRecord::ActiveRecordError def initialize(name = T.unsafe(nil)); end end class ActiveRecord::DestroyAssociationAsyncError < ::StandardError; end class ActiveRecord::DuplicateMigrationNameError < ::ActiveRecord::MigrationError def initialize(name = T.unsafe(nil)); end end class ActiveRecord::DuplicateMigrationVersionError < ::ActiveRecord::MigrationError def initialize(version = T.unsafe(nil)); end end module ActiveRecord::DynamicMatchers private def method_missing(name, *arguments, &block); end def respond_to_missing?(name, _); end end class ActiveRecord::DynamicMatchers::FindBy < ::ActiveRecord::DynamicMatchers::Method def finder; end class << self def prefix; end end end class ActiveRecord::DynamicMatchers::FindByBang < ::ActiveRecord::DynamicMatchers::Method def finder; end class << self def prefix; end def suffix; end end end class ActiveRecord::DynamicMatchers::Method def initialize(model, method_name); end def attribute_names; end def define; end def model; end def name; end def valid?; end private def attributes_hash; end def body; end def finder; end def signature; end class << self def match(model, name); end def matchers; end def pattern; end def prefix; end def suffix; end end end class ActiveRecord::EagerLoadPolymorphicError < ::ActiveRecord::ActiveRecordError def initialize(reflection = T.unsafe(nil)); end end module ActiveRecord::Enum def enum(definitions); end def inherited(base); end private def _enum_methods_module; end def assert_valid_enum_definition_values(values); end def detect_enum_conflict!(enum_name, method_name, klass_method = T.unsafe(nil)); end def detect_negative_enum_conditions!(method_names); end def raise_conflict_error(enum_name, method_name, type: T.unsafe(nil), source: T.unsafe(nil)); end class << self def extended(base); end end end ActiveRecord::Enum::ENUM_CONFLICT_MESSAGE = T.let(T.unsafe(nil), String) class ActiveRecord::Enum::EnumMethods < ::Module def initialize(klass); end private def define_enum_methods(name, value_method_name, value, enum_scopes); end def klass; end end class ActiveRecord::Enum::EnumType < ::ActiveModel::Type::Value def initialize(name, mapping, subtype); end def assert_valid_value(value); end def cast(value); end def deserialize(value); end def serialize(value); end def subtype; end def type(*_arg0, &_arg1); end private def mapping; end def name; end end class ActiveRecord::EnvironmentMismatchError < ::ActiveRecord::ActiveRecordError def initialize(current: T.unsafe(nil), stored: T.unsafe(nil)); end end class ActiveRecord::EnvironmentStorageError < ::ActiveRecord::ActiveRecordError def initialize; end end class ActiveRecord::ExclusiveConnectionTimeoutError < ::ActiveRecord::ConnectionTimeoutError; end module ActiveRecord::Explain def collecting_queries_for_explain; end def exec_explain(queries); end private def render_bind(attr); end end class ActiveRecord::ExplainRegistry extend ::ActiveSupport::PerThreadRegistry def initialize; end def collect; end def collect=(_arg0); end def collect?; end def queries; end def queries=(_arg0); end def reset; end end class ActiveRecord::ExplainSubscriber def finish(name, id, payload); end def ignore_payload?(payload); end def start(name, id, payload); end end ActiveRecord::ExplainSubscriber::EXPLAINED_SQLS = T.let(T.unsafe(nil), Regexp) ActiveRecord::ExplainSubscriber::IGNORED_PAYLOADS = T.let(T.unsafe(nil), Array) module ActiveRecord::FinderMethods def exists?(conditions = T.unsafe(nil)); end def fifth; end def fifth!; end def find(*args); end def find_by(arg, *args); end def find_by!(arg, *args); end def first(limit = T.unsafe(nil)); end def first!; end def forty_two; end def forty_two!; end def fourth; end def fourth!; end def include?(record); end def last(limit = T.unsafe(nil)); end def last!; end def member?(record); end def raise_record_not_found_exception!(ids = T.unsafe(nil), result_size = T.unsafe(nil), expected_size = T.unsafe(nil), key = T.unsafe(nil), not_found_ids = T.unsafe(nil)); end def second; end def second!; end def second_to_last; end def second_to_last!; end def take(limit = T.unsafe(nil)); end def take!; end def third; end def third!; end def third_to_last; end def third_to_last!; end private def apply_join_dependency(eager_loading: T.unsafe(nil)); end def check_reorder_deprecation; end def construct_relation_for_exists(conditions); end def find_last(limit); end def find_nth(index); end def find_nth_from_last(index); end def find_nth_with_limit(index, limit); end def find_one(id); end def find_some(ids); end def find_some_ordered(ids); end def find_take; end def find_take_with_limit(limit); end def find_with_ids(*ids); end def limited_ids_for(relation); end def ordered_relation; end def using_limitable_reflections?(reflections); end end ActiveRecord::FinderMethods::ONE_AS_ONE = T.let(T.unsafe(nil), String) class ActiveRecord::Fixture include ::Enumerable def initialize(fixture, model_class); end def [](key); end def class_name; end def each; end def find; end def fixture; end def model_class; end def to_hash; end end class ActiveRecord::Fixture::FixtureError < ::StandardError; end class ActiveRecord::Fixture::FormatError < ::ActiveRecord::Fixture::FixtureError; end class ActiveRecord::FixtureClassNotFound < ::ActiveRecord::ActiveRecordError; end class ActiveRecord::FixtureSet def initialize(_, name, class_name, path, config = T.unsafe(nil)); end def [](x); end def []=(k, v); end def all_loaded_fixtures; end def all_loaded_fixtures=(val); end def config; end def each(&block); end def fixtures; end def ignored_fixtures; end def model_class; end def name; end def size; end def table_name; end def table_rows; end private def ignored_fixtures=(base); end def model_class=(class_name); end def read_fixture_files(path); end def yaml_file_path(path); end class << self def all_loaded_fixtures; end def all_loaded_fixtures=(val); end def cache_fixtures(connection, fixtures_map); end def cache_for_connection(connection); end def cached_fixtures(connection, keys_to_fetch = T.unsafe(nil)); end def context_class; end def create_fixtures(fixtures_directory, fixture_set_names, class_names = T.unsafe(nil), config = T.unsafe(nil), &block); end def default_fixture_model_name(fixture_set_name, config = T.unsafe(nil)); end def default_fixture_table_name(fixture_set_name, config = T.unsafe(nil)); end def fixture_is_cached?(connection, table_name); end def identify(label, column_type = T.unsafe(nil)); end def instantiate_all_loaded_fixtures(object, load_instances = T.unsafe(nil)); end def instantiate_fixtures(object, fixture_set, load_instances = T.unsafe(nil)); end def reset_cache; end def signed_global_id(fixture_set_name, label, column_type: T.unsafe(nil), **options); end private def insert(fixture_sets, connection); end def read_and_insert(fixtures_directory, fixture_files, class_names, connection); end def update_all_loaded_fixtures(fixtures_map); end end end class ActiveRecord::FixtureSet::ClassCache def initialize(class_names, config); end def [](fs_name); end private def default_fixture_model(fs_name, config); end def insert_class(class_names, name, klass); end end class ActiveRecord::FixtureSet::File include ::Enumerable def initialize(file); end def each(&block); end def ignored_fixtures; end def model_class; end private def config_row; end def raw_rows; end def rows; end def validate(data); end class << self def open(file); end end end ActiveRecord::FixtureSet::MAX_ID = T.let(T.unsafe(nil), Integer) class ActiveRecord::FixtureSet::ModelMetadata def initialize(model_class); end def has_primary_key_column?; end def inheritance_column_name; end def primary_key_name; end def primary_key_type; end def timestamp_column_names; end end class ActiveRecord::FixtureSet::RenderContext class << self def create_subclass; end end end class ActiveRecord::FixtureSet::TableRow def initialize(fixture, table_rows:, label:, now:); end def to_hash; end private def add_join_records(association); end def fill_row_model_attributes; end def fill_timestamps; end def generate_primary_key; end def interpolate_label; end def model_class; end def model_metadata; end def reflection_class; end def resolve_enums; end def resolve_sti_reflections; end end class ActiveRecord::FixtureSet::TableRow::HasManyThroughProxy < ::ActiveRecord::FixtureSet::TableRow::ReflectionProxy def join_table; end def lhs_key; end def rhs_key; end end class ActiveRecord::FixtureSet::TableRow::ReflectionProxy def initialize(association); end def join_table; end def name; end def primary_key_type; end end class ActiveRecord::FixtureSet::TableRows def initialize(table_name, model_class:, fixtures:, config:); end def model_class; end def model_metadata; end def tables; end def to_hash; end private def build_table_rows_from(table_name, fixtures, config); end end class ActiveRecord::HasManyThroughAssociationNotFoundError < ::ActiveRecord::ActiveRecordError include ::DidYouMean::Correctable def initialize(owner_class = T.unsafe(nil), reflection = T.unsafe(nil)); end def owner_class; end def reflection; end end class ActiveRecord::HasManyThroughAssociationNotFoundError::Correction def initialize(error); end def corrections; end end class ActiveRecord::HasManyThroughAssociationPointlessSourceTypeError < ::ActiveRecord::ActiveRecordError def initialize(owner_class_name = T.unsafe(nil), reflection = T.unsafe(nil), source_reflection = T.unsafe(nil)); end end class ActiveRecord::HasManyThroughAssociationPolymorphicSourceError < ::ActiveRecord::ActiveRecordError def initialize(owner_class_name = T.unsafe(nil), reflection = T.unsafe(nil), source_reflection = T.unsafe(nil)); end end class ActiveRecord::HasManyThroughAssociationPolymorphicThroughError < ::ActiveRecord::ActiveRecordError def initialize(owner_class_name = T.unsafe(nil), reflection = T.unsafe(nil)); end end class ActiveRecord::HasManyThroughCantAssociateThroughHasOneOrManyReflection < ::ActiveRecord::ThroughCantAssociateThroughHasOneOrManyReflection; end class ActiveRecord::HasManyThroughNestedAssociationsAreReadonly < ::ActiveRecord::ThroughNestedAssociationsAreReadonly; end class ActiveRecord::HasManyThroughOrderError < ::ActiveRecord::ActiveRecordError def initialize(owner_class_name = T.unsafe(nil), reflection = T.unsafe(nil), through_reflection = T.unsafe(nil)); end end class ActiveRecord::HasManyThroughSourceAssociationNotFoundError < ::ActiveRecord::ActiveRecordError def initialize(reflection = T.unsafe(nil)); end end class ActiveRecord::HasOneAssociationPolymorphicThroughError < ::ActiveRecord::ActiveRecordError def initialize(owner_class_name = T.unsafe(nil), reflection = T.unsafe(nil)); end end class ActiveRecord::HasOneThroughCantAssociateThroughCollection < ::ActiveRecord::ActiveRecordError def initialize(owner_class_name = T.unsafe(nil), reflection = T.unsafe(nil), through_reflection = T.unsafe(nil)); end end class ActiveRecord::HasOneThroughCantAssociateThroughHasOneOrManyReflection < ::ActiveRecord::ThroughCantAssociateThroughHasOneOrManyReflection; end class ActiveRecord::HasOneThroughNestedAssociationsAreReadonly < ::ActiveRecord::ThroughNestedAssociationsAreReadonly; end class ActiveRecord::IllegalMigrationNameError < ::ActiveRecord::MigrationError def initialize(name = T.unsafe(nil)); end end class ActiveRecord::ImmutableRelation < ::ActiveRecord::ActiveRecordError; end module ActiveRecord::Inheritance extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::Inheritance::ClassMethods private def ensure_proper_type; end def initialize_dup(other); end def initialize_internals_callback; end end module ActiveRecord::Inheritance::ClassMethods def abstract_class; end def abstract_class=(_arg0); end def abstract_class?; end def base_class; end def base_class?; end def descends_from_active_record?; end def finder_needs_type_condition?; end def inherited(subclass); end def new(attributes = T.unsafe(nil), &block); end def polymorphic_class_for(name); end def polymorphic_name; end def sti_class_for(type_name); end def sti_name; end protected def compute_type(type_name); end private def discriminate_class_for_record(record); end def find_sti_class(type_name); end def subclass_from_attributes(attrs); end def type_condition(table = T.unsafe(nil)); end def using_single_table_inheritance?(record); end end class ActiveRecord::InsertAll def initialize(model, inserts, on_duplicate:, returning: T.unsafe(nil), unique_by: T.unsafe(nil)); end def connection; end def execute; end def inserts; end def keys; end def map_key_with_value; end def model; end def on_duplicate; end def primary_keys; end def returning; end def skip_duplicates?; end def unique_by; end def updatable_columns; end def update_duplicates?; end private def ensure_valid_options_for_connection!; end def find_unique_index_for(unique_by); end def readonly_columns; end def scope_attributes; end def to_sql; end def unique_by_columns; end def unique_indexes; end def verify_attributes(attributes); end end class ActiveRecord::InsertAll::Builder def initialize(insert_all); end def conflict_target; end def into; end def keys(*_arg0, &_arg1); end def model; end def returning; end def skip_duplicates?(*_arg0, &_arg1); end def touch_model_timestamps_unless(&block); end def updatable_columns; end def update_duplicates?(*_arg0, &_arg1); end def values_list; end private def columns_list; end def connection; end def extract_types_from_columns_on(table_name, keys:); end def format_columns(columns); end def insert_all; end def quote_columns(columns); end def touch_timestamp_attribute?(column_name); end end module ActiveRecord::Integration extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::Integration::ClassMethods def cache_key; end def cache_key_with_version; end def cache_version; end def to_param; end private def can_use_fast_cache_version?(timestamp); end def raw_timestamp_to_cache_version(timestamp); end end module ActiveRecord::Integration::ClassMethods def collection_cache_key(collection = T.unsafe(nil), timestamp_column = T.unsafe(nil)); end def to_param(method_name = T.unsafe(nil)); end end class ActiveRecord::InternalMetadata < ::ActiveRecord::Base include ::ActiveRecord::InternalMetadata::GeneratedAttributeMethods include ::ActiveRecord::InternalMetadata::GeneratedAssociationMethods class << self def [](key); end def []=(key, value); end def _internal?; end def _validators; end def create_table; end def defined_enums; end def drop_table; end def enabled?; end def primary_key; end def table_name; end end end module ActiveRecord::InternalMetadata::GeneratedAssociationMethods; end module ActiveRecord::InternalMetadata::GeneratedAttributeMethods; end class ActiveRecord::InvalidForeignKey < ::ActiveRecord::WrappedDatabaseException; end class ActiveRecord::InverseOfAssociationNotFoundError < ::ActiveRecord::ActiveRecordError include ::DidYouMean::Correctable def initialize(reflection = T.unsafe(nil), associated_class = T.unsafe(nil)); end def associated_class; end def reflection; end end class ActiveRecord::InverseOfAssociationNotFoundError::Correction def initialize(error); end def corrections; end end class ActiveRecord::IrreversibleMigration < ::ActiveRecord::MigrationError; end class ActiveRecord::IrreversibleOrderError < ::ActiveRecord::ActiveRecordError; end module ActiveRecord::LegacyYamlAdapter class << self def convert(klass, coder); end end end module ActiveRecord::LegacyYamlAdapter::Rails41 class << self def convert(klass, coder); end end end module ActiveRecord::LegacyYamlAdapter::Rails420 class << self def convert(klass, coder); end end end class ActiveRecord::LockWaitTimeout < ::ActiveRecord::StatementInvalid; end module ActiveRecord::Locking extend ::ActiveSupport::Autoload end class ActiveRecord::Locking::LockingType def deserialize(value); end def encode_with(coder); end def init_with(coder); end def serialize(value); end class << self def new(subtype); end end end module ActiveRecord::Locking::Optimistic extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::Locking::Optimistic::ClassMethods def increment!(*_arg0, **_arg1); end def locking_enabled?; end private def _create_record(attribute_names = T.unsafe(nil)); end def _lock_value_for_database(locking_column); end def _touch_row(attribute_names, time); end def _update_row(attribute_names, attempted_action = T.unsafe(nil)); end def destroy_row; end end module ActiveRecord::Locking::Optimistic::ClassMethods def define_attribute(name, cast_type, **_arg2); end def locking_column; end def locking_column=(value); end def locking_enabled?; end def reset_locking_column; end def update_counters(id, counters); end end ActiveRecord::Locking::Optimistic::ClassMethods::DEFAULT_LOCKING_COLUMN = T.let(T.unsafe(nil), String) module ActiveRecord::Locking::Pessimistic def lock!(lock = T.unsafe(nil)); end def with_lock(lock = T.unsafe(nil)); end end class ActiveRecord::LogSubscriber < ::ActiveSupport::LogSubscriber def backtrace_cleaner; end def backtrace_cleaner=(_arg0); end def backtrace_cleaner?; end def sql(event); end def strict_loading_violation(event); end private def colorize_payload_name(name, payload_name); end def debug(progname = T.unsafe(nil), &block); end def extract_query_source_location(locations); end def log_query_source; end def logger; end def render_bind(attr, value); end def sql_color(sql); end def type_casted_binds(casted_binds); end class << self def backtrace_cleaner; end def backtrace_cleaner=(value); end def backtrace_cleaner?; end def reset_runtime; end def runtime; end def runtime=(value); end end end ActiveRecord::LogSubscriber::IGNORE_PAYLOAD_NAMES = T.let(T.unsafe(nil), Array) module ActiveRecord::Middleware extend ::ActiveSupport::Autoload end class ActiveRecord::Middleware::DatabaseSelector def initialize(app, resolver_klass = T.unsafe(nil), context_klass = T.unsafe(nil), options = T.unsafe(nil)); end def call(env); end def context_klass; end def options; end def resolver_klass; end private def reading_request?(request); end def select_database(request, &blk); end end class ActiveRecord::Middleware::DatabaseSelector::Resolver def initialize(context, options = T.unsafe(nil)); end def context; end def delay; end def instrumenter; end def read(&blk); end def update_context(response); end def write(&blk); end private def read_from_primary(&blk); end def read_from_primary?; end def read_from_replica(&blk); end def send_to_replica_delay; end def time_since_last_write_ok?; end def write_to_primary(&blk); end class << self def call(context, options = T.unsafe(nil)); end end end ActiveRecord::Middleware::DatabaseSelector::Resolver::SEND_TO_REPLICA_DELAY = T.let(T.unsafe(nil), ActiveSupport::Duration) class ActiveRecord::Middleware::DatabaseSelector::Resolver::Session def initialize(session); end def last_write_timestamp; end def save(response); end def session; end def update_last_write_timestamp; end class << self def call(request); end def convert_time_to_timestamp(time); end def convert_timestamp_to_time(timestamp); end end end class ActiveRecord::Migration def initialize(name = T.unsafe(nil), version = T.unsafe(nil)); end def announce(message); end def connection; end def copy(destination, sources, options = T.unsafe(nil)); end def disable_ddl_transaction; end def down; end def exec_migration(conn, direction); end def method_missing(method, *arguments, &block); end def migrate(direction); end def name; end def name=(_arg0); end def next_migration_number(number); end def proper_table_name(name, options = T.unsafe(nil)); end def reversible; end def revert(*migration_classes); end def reverting?; end def run(*migration_classes); end def say(message, subitem = T.unsafe(nil)); end def say_with_time(message); end def suppress_messages; end def table_name_options(config = T.unsafe(nil)); end def up; end def up_only; end def verbose; end def verbose=(val); end def version; end def version=(_arg0); end def write(text = T.unsafe(nil)); end private def command_recorder; end def execute_block; end class << self def [](version); end def check_pending!(connection = T.unsafe(nil)); end def current_version; end def delegate; end def delegate=(_arg0); end def disable_ddl_transaction; end def disable_ddl_transaction!; end def disable_ddl_transaction=(_arg0); end def inherited(subclass); end def load_schema_if_pending!; end def maintain_test_schema!; end def method_missing(name, *args, &block); end def migrate(direction); end def nearest_delegate; end def verbose; end def verbose=(val); end end end class ActiveRecord::Migration::CheckPending def initialize(app, file_watcher: T.unsafe(nil)); end def call(env); end private def build_watcher(&block); end def connection; end end class ActiveRecord::Migration::CommandRecorder include ::ActiveRecord::Migration::JoinTable include ::ActiveRecord::Migration::CommandRecorder::StraightReversions def initialize(delegate = T.unsafe(nil)); end def add_belongs_to(*args, &block); end def add_check_constraint(*args, &block); end def add_column(*args, &block); end def add_foreign_key(*args, &block); end def add_index(*args, &block); end def add_reference(*args, &block); end def add_timestamps(*args, &block); end def change_column(*args, &block); end def change_column_comment(*args, &block); end def change_column_default(*args, &block); end def change_column_null(*args, &block); end def change_table(table_name, **options); end def change_table_comment(*args, &block); end def commands; end def commands=(_arg0); end def create_join_table(*args, &block); end def create_table(*args, &block); end def delegate; end def delegate=(_arg0); end def disable_extension(*args, &block); end def drop_join_table(*args, &block); end def drop_table(*args, &block); end def enable_extension(*args, &block); end def execute(*args, &block); end def execute_block(*args, &block); end def inverse_of(command, args, &block); end def invert_add_belongs_to(args, &block); end def invert_remove_belongs_to(args, &block); end def record(*command, &block); end def remove_belongs_to(*args, &block); end def remove_check_constraint(*args, &block); end def remove_column(*args, &block); end def remove_columns(*args, &block); end def remove_foreign_key(*args, &block); end def remove_index(*args, &block); end def remove_reference(*args, &block); end def remove_timestamps(*args, &block); end def rename_column(*args, &block); end def rename_index(*args, &block); end def rename_table(*args, &block); end def replay(migration); end def revert; end def reverting; end def reverting=(_arg0); end def transaction(*args, &block); end private def invert_change_column_comment(args); end def invert_change_column_default(args); end def invert_change_column_null(args); end def invert_change_table_comment(args); end def invert_drop_table(args, &block); end def invert_remove_check_constraint(args); end def invert_remove_column(args); end def invert_remove_columns(args); end def invert_remove_foreign_key(args); end def invert_remove_index(args); end def invert_rename_column(args); end def invert_rename_index(args); end def invert_rename_table(args); end def invert_transaction(args); end def method_missing(method, *args, &block); end def respond_to_missing?(method, _); end end ActiveRecord::Migration::CommandRecorder::ReversibleAndIrreversibleMethods = T.let(T.unsafe(nil), Array) module ActiveRecord::Migration::CommandRecorder::StraightReversions def invert_add_check_constraint(args, &block); end def invert_add_column(args, &block); end def invert_add_foreign_key(args, &block); end def invert_add_index(args, &block); end def invert_add_reference(args, &block); end def invert_add_timestamps(args, &block); end def invert_create_join_table(args, &block); end def invert_create_table(args, &block); end def invert_disable_extension(args, &block); end def invert_drop_join_table(args, &block); end def invert_drop_table(args, &block); end def invert_enable_extension(args, &block); end def invert_execute_block(args, &block); end def invert_remove_check_constraint(args, &block); end def invert_remove_column(args, &block); end def invert_remove_foreign_key(args, &block); end def invert_remove_index(args, &block); end def invert_remove_reference(args, &block); end def invert_remove_timestamps(args, &block); end end module ActiveRecord::Migration::Compatibility class << self def find(version); end end end class ActiveRecord::Migration::Compatibility::V4_2 < ::ActiveRecord::Migration::Compatibility::V5_0 def add_belongs_to(table_name, ref_name, **options); end def add_reference(table_name, ref_name, **options); end def add_timestamps(table_name, **options); end def index_exists?(table_name, column_name, **options); end def remove_index(table_name, column_name = T.unsafe(nil), **options); end private def compatible_table_definition(t); end def index_name_for_remove(table_name, column_name, options); end end module ActiveRecord::Migration::Compatibility::V4_2::TableDefinition def belongs_to(*_arg0, **options); end def references(*_arg0, **options); end def timestamps(**options); end end class ActiveRecord::Migration::Compatibility::V5_0 < ::ActiveRecord::Migration::Compatibility::V5_1 def add_belongs_to(table_name, ref_name, **options); end def add_column(table_name, column_name, type, **options); end def add_reference(table_name, ref_name, **options); end def create_join_table(table_1, table_2, column_options: T.unsafe(nil), **options); end def create_table(table_name, **options); end private def compatible_table_definition(t); end end module ActiveRecord::Migration::Compatibility::V5_0::TableDefinition def belongs_to(*args, **options); end def primary_key(name, type = T.unsafe(nil), **options); end def references(*args, **options); end end class ActiveRecord::Migration::Compatibility::V5_1 < ::ActiveRecord::Migration::Compatibility::V5_2 def change_column(table_name, column_name, type, **options); end def create_table(table_name, **options); end end class ActiveRecord::Migration::Compatibility::V5_2 < ::ActiveRecord::Migration::Compatibility::V6_0 def add_timestamps(table_name, **options); end def change_table(table_name, **options); end def create_join_table(table_1, table_2, **options); end def create_table(table_name, **options); end private def command_recorder; end def compatible_table_definition(t); end end module ActiveRecord::Migration::Compatibility::V5_2::CommandRecorder def invert_change_column_comment(args); end def invert_change_table_comment(args); end def invert_transaction(args, &block); end end module ActiveRecord::Migration::Compatibility::V5_2::TableDefinition def timestamps(**options); end end class ActiveRecord::Migration::Compatibility::V6_0 < ::ActiveRecord::Migration::Current def add_belongs_to(table_name, ref_name, **options); end def add_reference(table_name, ref_name, **options); end def change_table(table_name, **options); end def create_join_table(table_1, table_2, **options); end def create_table(table_name, **options); end private def compatible_table_definition(t); end end class ActiveRecord::Migration::Compatibility::V6_0::ReferenceDefinition < ::ActiveRecord::ConnectionAdapters::ReferenceDefinition def index_options(table_name); end end module ActiveRecord::Migration::Compatibility::V6_0::TableDefinition def belongs_to(*args, **options); end def references(*args, **options); end end ActiveRecord::Migration::Compatibility::V6_1 = ActiveRecord::Migration::Current class ActiveRecord::Migration::Current < ::ActiveRecord::Migration; end module ActiveRecord::Migration::JoinTable private def find_join_table_name(table_1, table_2, options = T.unsafe(nil)); end def join_table_name(table_1, table_2); end end ActiveRecord::Migration::MigrationFilenameRegexp = T.let(T.unsafe(nil), Regexp) class ActiveRecord::Migration::ReversibleBlockHelper < ::Struct def down; end def reverting; end def reverting=(_); end def up; end class << self def [](*_arg0); end def inspect; end def members; end def new(*_arg0); end end end class ActiveRecord::MigrationContext def initialize(migrations_paths, schema_migration); end def any_migrations?; end def current_environment; end def current_version; end def down(target_version = T.unsafe(nil)); end def forward(steps = T.unsafe(nil)); end def get_all_versions; end def last_stored_environment; end def migrate(target_version = T.unsafe(nil), &block); end def migrations; end def migrations_paths; end def migrations_status; end def needs_migration?; end def open; end def protected_environment?; end def rollback(steps = T.unsafe(nil)); end def run(direction, target_version); end def schema_migration; end def up(target_version = T.unsafe(nil)); end private def migration_files; end def move(direction, steps); end def parse_migration_filename(filename); end end class ActiveRecord::MigrationError < ::ActiveRecord::ActiveRecordError def initialize(message = T.unsafe(nil)); end end class ActiveRecord::MigrationProxy < ::Struct def initialize(name, version, filename, scope); end def announce(*_arg0, &_arg1); end def basename; end def disable_ddl_transaction(*_arg0, &_arg1); end def filename; end def filename=(_); end def migrate(*_arg0, &_arg1); end def name; end def name=(_); end def scope; end def scope=(_); end def version; end def version=(_); end def write(*_arg0, &_arg1); end private def load_migration; end def migration; end class << self def [](*_arg0); end def inspect; end def members; end def new(*_arg0); end end end class ActiveRecord::Migrator def initialize(direction, migrations, schema_migration, target_version = T.unsafe(nil)); end def current; end def current_migration; end def current_version; end def load_migrated; end def migrate; end def migrated; end def migrations; end def pending_migrations; end def run; end def runnable; end private def ddl_transaction(migration); end def down?; end def execute_migration_in_transaction(migration); end def finish; end def generate_migrator_advisory_lock_id; end def invalid_target?; end def migrate_without_lock; end def ran?(migration); end def record_environment; end def record_version_state_after_migrating(version); end def run_without_lock; end def start; end def target; end def up?; end def use_advisory_lock?; end def use_transaction?(migration); end def validate(migrations); end def with_advisory_lock; end def with_advisory_lock_connection; end class << self def current_version; end def migrations_paths; end def migrations_paths=(_arg0); end end end ActiveRecord::Migrator::MIGRATOR_SALT = T.let(T.unsafe(nil), Integer) class ActiveRecord::MismatchedForeignKey < ::ActiveRecord::StatementInvalid def initialize(message: T.unsafe(nil), sql: T.unsafe(nil), binds: T.unsafe(nil), table: T.unsafe(nil), foreign_key: T.unsafe(nil), target_table: T.unsafe(nil), primary_key: T.unsafe(nil), primary_key_column: T.unsafe(nil)); end end module ActiveRecord::ModelSchema extend ::ActiveSupport::Concern class << self def derive_join_table_name(first_table, second_table); end end end module ActiveRecord::ModelSchema::ClassMethods def _default_attributes; end def attribute_types; end def attributes_builder; end def column_defaults; end def column_for_attribute(name); end def column_names; end def columns; end def columns_hash; end def content_columns; end def full_table_name_prefix; end def full_table_name_suffix; end def ignored_columns; end def ignored_columns=(columns); end def inheritance_column; end def inheritance_column=(value); end def next_sequence_value; end def prefetch_primary_key?; end def protected_environments; end def protected_environments=(environments); end def quoted_table_name; end def reset_column_information; end def reset_sequence_name; end def reset_table_name; end def sequence_name; end def sequence_name=(value); end def symbol_column_to_string(name_symbol); end def table_exists?; end def table_name; end def table_name=(value); end def type_for_attribute(attr_name, &block); end def yaml_encoder; end protected def initialize_load_schema_monitor; end private def _convert_type_from_options(type); end def compute_table_name; end def inherited(child_class); end def load_schema; end def load_schema!; end def reload_schema_from_cache; end def schema_loaded?; end def undecorated_table_name(class_name = T.unsafe(nil)); end def warn_if_deprecated_type(column); end end class ActiveRecord::MultiparameterAssignmentErrors < ::ActiveRecord::ActiveRecordError def initialize(errors = T.unsafe(nil)); end def errors; end end module ActiveRecord::NestedAttributes extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::NestedAttributes::ClassMethods def _destroy; end private def allow_destroy?(association_name); end def assign_nested_attributes_for_collection_association(association_name, attributes_collection); end def assign_nested_attributes_for_one_to_one_association(association_name, attributes); end def assign_to_or_mark_for_destruction(record, attributes, allow_destroy); end def call_reject_if(association_name, attributes); end def check_record_limit!(limit, attributes_collection); end def has_destroy_flag?(hash); end def raise_nested_attributes_record_not_found!(association_name, record_id); end def reject_new_record?(association_name, attributes); end def will_be_destroyed?(association_name, attributes); end end module ActiveRecord::NestedAttributes::ClassMethods def accepts_nested_attributes_for(*attr_names); end private def generate_association_writer(association_name, type); end end ActiveRecord::NestedAttributes::ClassMethods::REJECT_ALL_BLANK_PROC = T.let(T.unsafe(nil), Proc) class ActiveRecord::NestedAttributes::TooManyRecords < ::ActiveRecord::ActiveRecordError; end ActiveRecord::NestedAttributes::UNASSIGNABLE_KEYS = T.let(T.unsafe(nil), Array) class ActiveRecord::NoDatabaseError < ::ActiveRecord::StatementInvalid; end class ActiveRecord::NoEnvironmentInSchemaError < ::ActiveRecord::MigrationError def initialize; end end module ActiveRecord::NoTouching extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::NoTouching::ClassMethods def no_touching?; end def touch(*_arg0, **_arg1); end def touch_later(*_arg0); end class << self def applied_to?(klass); end def apply_to(klass); end private def klasses; end end end module ActiveRecord::NoTouching::ClassMethods def no_touching(&block); end end class ActiveRecord::NotNullViolation < ::ActiveRecord::StatementInvalid; end module ActiveRecord::NullRelation def any?; end def calculate(operation, _column_name); end def delete(_id_or_array); end def delete_all; end def empty?; end def exists?(_conditions = T.unsafe(nil)); end def many?; end def none?; end def one?; end def or(other); end def pluck(*column_names); end def to_sql; end def update_all(_updates); end private def exec_queries; end end class ActiveRecord::PendingMigrationError < ::ActiveRecord::MigrationError include ::ActiveSupport::ActionableError extend ::ActiveSupport::ActionableError::ClassMethods def initialize(message = T.unsafe(nil)); end def _actions; end def _actions=(_arg0); end def _actions?; end private def detailed_migration_message; end class << self def _actions; end def _actions=(value); end def _actions?; end end end module ActiveRecord::Persistence extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::Persistence::ClassMethods def becomes(klass); end def becomes!(klass); end def decrement(attribute, by = T.unsafe(nil)); end def decrement!(attribute, by = T.unsafe(nil), touch: T.unsafe(nil)); end def delete; end def destroy; end def destroy!; end def destroyed?; end def increment(attribute, by = T.unsafe(nil)); end def increment!(attribute, by = T.unsafe(nil), touch: T.unsafe(nil)); end def new_record?; end def persisted?; end def previously_new_record?; end def reload(options = T.unsafe(nil)); end def save(**options, &block); end def save!(**options, &block); end def toggle(attribute); end def toggle!(attribute); end def touch(*names, time: T.unsafe(nil)); end def update(attributes); end def update!(attributes); end def update_attribute(name, value); end def update_column(name, value); end def update_columns(attributes); end private def _create_record(attribute_names = T.unsafe(nil)); end def _delete_row; end def _raise_readonly_record_error; end def _raise_record_not_destroyed; end def _raise_record_not_touched_error; end def _touch_row(attribute_names, time); end def _update_record(attribute_names = T.unsafe(nil)); end def _update_row(attribute_names, attempted_action = T.unsafe(nil)); end def belongs_to_touch_method; end def create_or_update(**_arg0, &block); end def destroy_associations; end def destroy_row; end def verify_readonly_attribute(name); end end module ActiveRecord::Persistence::ClassMethods def _delete_record(constraints); end def _insert_record(values); end def _update_record(values, constraints); end def create(attributes = T.unsafe(nil), &block); end def create!(attributes = T.unsafe(nil), &block); end def delete(id_or_array); end def destroy(id); end def insert(attributes, returning: T.unsafe(nil), unique_by: T.unsafe(nil)); end def insert!(attributes, returning: T.unsafe(nil)); end def insert_all(attributes, returning: T.unsafe(nil), unique_by: T.unsafe(nil)); end def insert_all!(attributes, returning: T.unsafe(nil)); end def instantiate(attributes, column_types = T.unsafe(nil), &block); end def update(id = T.unsafe(nil), attributes); end def upsert(attributes, returning: T.unsafe(nil), unique_by: T.unsafe(nil)); end def upsert_all(attributes, returning: T.unsafe(nil), unique_by: T.unsafe(nil)); end private def _substitute_values(values); end def discriminate_class_for_record(record); end def instantiate_instance_of(klass, attributes, column_types = T.unsafe(nil), &block); end end class ActiveRecord::PredicateBuilder def initialize(table); end def [](attr_name, value, operator = T.unsafe(nil)); end def build(attribute, value, operator = T.unsafe(nil)); end def build_bind_attribute(column_name, value); end def build_from_hash(attributes, &block); end def register_handler(klass, handler); end def resolve_arel_attribute(table_name, column_name, &block); end protected def expand_from_hash(attributes, &block); end private def convert_dot_notation_to_hash(attributes); end def grouping_queries(queries); end def handler_for(object); end def table; end class << self def references(attributes); end end end class ActiveRecord::PredicateBuilder::ArrayHandler def initialize(predicate_builder); end def call(attribute, value); end private def predicate_builder; end end module ActiveRecord::PredicateBuilder::ArrayHandler::NullPredicate class << self def or(other); end end end class ActiveRecord::PredicateBuilder::AssociationQueryValue def initialize(associated_table, value); end def queries; end private def associated_table; end def convert_to_id(value); end def ids; end def primary_key; end def value; end end ActiveRecord::PredicateBuilder::BaseHandler = ActiveRecord::PredicateBuilder::BasicObjectHandler class ActiveRecord::PredicateBuilder::BasicObjectHandler def initialize(predicate_builder); end def call(attribute, value); end private def predicate_builder; end end class ActiveRecord::PredicateBuilder::PolymorphicArrayValue def initialize(associated_table, values); end def queries; end private def associated_table; end def convert_to_id(value); end def klass(value); end def primary_key(value); end def type_to_ids_mapping; end def values; end end class ActiveRecord::PredicateBuilder::RangeHandler def initialize(predicate_builder); end def call(attribute, value); end private def predicate_builder; end end class ActiveRecord::PredicateBuilder::RangeHandler::RangeWithBinds < ::Struct def begin; end def begin=(_); end def end; end def end=(_); end def exclude_end?; end class << self def [](*_arg0); end def inspect; end def members; end def new(*_arg0); end end end class ActiveRecord::PredicateBuilder::RelationHandler def call(attribute, value); end end class ActiveRecord::PreparedStatementCacheExpired < ::ActiveRecord::StatementInvalid; end class ActiveRecord::PreparedStatementInvalid < ::ActiveRecord::ActiveRecordError; end class ActiveRecord::ProtectedEnvironmentError < ::ActiveRecord::ActiveRecordError def initialize(env = T.unsafe(nil)); end end class ActiveRecord::QueryAborted < ::ActiveRecord::StatementInvalid; end class ActiveRecord::QueryCache class << self def complete(pools); end def install_executor_hooks(executor = T.unsafe(nil)); end def run; end end end module ActiveRecord::QueryCache::ClassMethods def cache(&block); end def uncached(&block); end end class ActiveRecord::QueryCanceled < ::ActiveRecord::QueryAborted; end module ActiveRecord::QueryMethods include ::ActiveModel::ForbiddenAttributesProtection extend ::ActiveSupport::Concern def _select!(*fields); end def and(other); end def and!(other); end def annotate(*args); end def annotate!(*args); end def annotate_values; end def annotate_values=(value); end def arel(aliases = T.unsafe(nil)); end def construct_join_dependency(associations, join_type); end def create_with(value); end def create_with!(value); end def create_with_value; end def create_with_value=(value); end def distinct(value = T.unsafe(nil)); end def distinct!(value = T.unsafe(nil)); end def distinct_value; end def distinct_value=(value); end def eager_load(*args); end def eager_load!(*args); end def eager_load_values; end def eager_load_values=(value); end def extending(*modules, &block); end def extending!(*modules, &block); end def extending_values; end def extending_values=(value); end def extensions; end def extract_associated(association); end def from(value, subquery_name = T.unsafe(nil)); end def from!(value, subquery_name = T.unsafe(nil)); end def from_clause; end def from_clause=(value); end def group(*args); end def group!(*args); end def group_values; end def group_values=(value); end def having(opts, *rest); end def having!(opts, *rest); end def having_clause; end def having_clause=(value); end def includes(*args); end def includes!(*args); end def includes_values; end def includes_values=(value); end def joins(*args); end def joins!(*args); end def joins_values; end def joins_values=(value); end def left_joins(*args); end def left_outer_joins(*args); end def left_outer_joins!(*args); end def left_outer_joins_values; end def left_outer_joins_values=(value); end def limit(value); end def limit!(value); end def limit_value; end def limit_value=(value); end def lock(locks = T.unsafe(nil)); end def lock!(locks = T.unsafe(nil)); end def lock_value; end def lock_value=(value); end def none; end def none!; end def offset(value); end def offset!(value); end def offset_value; end def offset_value=(value); end def optimizer_hints(*args); end def optimizer_hints!(*args); end def optimizer_hints_values; end def optimizer_hints_values=(value); end def or(other); end def or!(other); end def order(*args); end def order!(*args); end def order_values; end def order_values=(value); end def preload(*args); end def preload!(*args); end def preload_values; end def preload_values=(value); end def readonly(value = T.unsafe(nil)); end def readonly!(value = T.unsafe(nil)); end def readonly_value; end def readonly_value=(value); end def references(*table_names); end def references!(*table_names); end def references_values; end def references_values=(value); end def reorder(*args); end def reorder!(*args); end def reordering_value; end def reordering_value=(value); end def reselect(*args); end def reselect!(*args); end def reverse_order; end def reverse_order!; end def reverse_order_value; end def reverse_order_value=(value); end def rewhere(conditions); end def select(*fields); end def select_values; end def select_values=(value); end def skip_preloading!; end def skip_query_cache!(value = T.unsafe(nil)); end def skip_query_cache_value; end def skip_query_cache_value=(value); end def strict_loading(value = T.unsafe(nil)); end def strict_loading!(value = T.unsafe(nil)); end def strict_loading_value; end def strict_loading_value=(value); end def uniq!(name); end def unscope(*args); end def unscope!(*args); end def unscope_values; end def unscope_values=(value); end def where(*args); end def where!(opts, *rest); end def where_clause; end def where_clause=(value); end protected def build_having_clause(opts, rest = T.unsafe(nil)); end def build_subquery(subquery_alias, select_value); end def build_where_clause(opts, rest = T.unsafe(nil)); end private def arel_column(field); end def arel_columns(columns); end def assert_mutability!; end def build_arel(aliases = T.unsafe(nil)); end def build_cast_value(name, value); end def build_from; end def build_join_buckets; end def build_join_dependencies; end def build_joins(join_sources, aliases = T.unsafe(nil)); end def build_order(arel); end def build_select(arel); end def check_if_method_has_arguments!(method_name, args, message = T.unsafe(nil)); end def column_references(order_args); end def does_not_support_reverse?(order); end def each_join_dependencies(join_dependencies = T.unsafe(nil)); end def lookup_table_klass_from_join_dependencies(table_name); end def order_column(field); end def preprocess_order_args(order_args); end def resolve_arel_attributes(attrs); end def reverse_sql_order(order_query); end def sanitize_order_arguments(order_args); end def select_association_list(associations, stashed_joins = T.unsafe(nil)); end def structurally_incompatible_values_for(other); end def table_name_matches?(from); end def validate_order_args(args); end end ActiveRecord::QueryMethods::FROZEN_EMPTY_ARRAY = T.let(T.unsafe(nil), Array) ActiveRecord::QueryMethods::FROZEN_EMPTY_HASH = T.let(T.unsafe(nil), Hash) ActiveRecord::QueryMethods::STRUCTURAL_VALUE_METHODS = T.let(T.unsafe(nil), Array) ActiveRecord::QueryMethods::VALID_DIRECTIONS = T.let(T.unsafe(nil), Set) ActiveRecord::QueryMethods::VALID_UNSCOPING_VALUES = T.let(T.unsafe(nil), Set) class ActiveRecord::QueryMethods::WhereChain def initialize(scope); end def missing(*args); end def not(opts, *rest); end end module ActiveRecord::Querying def and(*_arg0, &_arg1); end def annotate(*_arg0, &_arg1); end def any?(*_arg0, &_arg1); end def average(*_arg0, &_arg1); end def calculate(*_arg0, &_arg1); end def count(*_arg0, &_arg1); end def count_by_sql(sql); end def create_or_find_by(*_arg0, &_arg1); end def create_or_find_by!(*_arg0, &_arg1); end def create_with(*_arg0, &_arg1); end def delete_all(*_arg0, &_arg1); end def delete_by(*_arg0, &_arg1); end def destroy_all(*_arg0, &_arg1); end def destroy_by(*_arg0, &_arg1); end def distinct(*_arg0, &_arg1); end def eager_load(*_arg0, &_arg1); end def except(*_arg0, &_arg1); end def exists?(*_arg0, &_arg1); end def extending(*_arg0, &_arg1); end def extract_associated(*_arg0, &_arg1); end def fifth(*_arg0, &_arg1); end def fifth!(*_arg0, &_arg1); end def find(*_arg0, &_arg1); end def find_by(*_arg0, &_arg1); end def find_by!(*_arg0, &_arg1); end def find_by_sql(sql, binds = T.unsafe(nil), preparable: T.unsafe(nil), &block); end def find_each(*_arg0, &_arg1); end def find_in_batches(*_arg0, &_arg1); end def find_or_create_by(*_arg0, &_arg1); end def find_or_create_by!(*_arg0, &_arg1); end def find_or_initialize_by(*_arg0, &_arg1); end def first(*_arg0, &_arg1); end def first!(*_arg0, &_arg1); end def first_or_create(*_arg0, &_arg1); end def first_or_create!(*_arg0, &_arg1); end def first_or_initialize(*_arg0, &_arg1); end def forty_two(*_arg0, &_arg1); end def forty_two!(*_arg0, &_arg1); end def fourth(*_arg0, &_arg1); end def fourth!(*_arg0, &_arg1); end def from(*_arg0, &_arg1); end def group(*_arg0, &_arg1); end def having(*_arg0, &_arg1); end def ids(*_arg0, &_arg1); end def in_batches(*_arg0, &_arg1); end def includes(*_arg0, &_arg1); end def joins(*_arg0, &_arg1); end def last(*_arg0, &_arg1); end def last!(*_arg0, &_arg1); end def left_joins(*_arg0, &_arg1); end def left_outer_joins(*_arg0, &_arg1); end def limit(*_arg0, &_arg1); end def lock(*_arg0, &_arg1); end def many?(*_arg0, &_arg1); end def maximum(*_arg0, &_arg1); end def merge(*_arg0, &_arg1); end def minimum(*_arg0, &_arg1); end def none(*_arg0, &_arg1); end def none?(*_arg0, &_arg1); end def offset(*_arg0, &_arg1); end def one?(*_arg0, &_arg1); end def only(*_arg0, &_arg1); end def optimizer_hints(*_arg0, &_arg1); end def or(*_arg0, &_arg1); end def order(*_arg0, &_arg1); end def pick(*_arg0, &_arg1); end def pluck(*_arg0, &_arg1); end def preload(*_arg0, &_arg1); end def readonly(*_arg0, &_arg1); end def references(*_arg0, &_arg1); end def reorder(*_arg0, &_arg1); end def reselect(*_arg0, &_arg1); end def rewhere(*_arg0, &_arg1); end def second(*_arg0, &_arg1); end def second!(*_arg0, &_arg1); end def second_to_last(*_arg0, &_arg1); end def second_to_last!(*_arg0, &_arg1); end def select(*_arg0, &_arg1); end def strict_loading(*_arg0, &_arg1); end def sum(*_arg0, &_arg1); end def take(*_arg0, &_arg1); end def take!(*_arg0, &_arg1); end def third(*_arg0, &_arg1); end def third!(*_arg0, &_arg1); end def third_to_last(*_arg0, &_arg1); end def third_to_last!(*_arg0, &_arg1); end def touch_all(*_arg0, &_arg1); end def unscope(*_arg0, &_arg1); end def update_all(*_arg0, &_arg1); end def where(*_arg0, &_arg1); end end ActiveRecord::Querying::QUERYING_METHODS = T.let(T.unsafe(nil), Array) class ActiveRecord::RangeError < ::ActiveRecord::StatementInvalid; end class ActiveRecord::ReadOnlyError < ::ActiveRecord::ActiveRecordError; end class ActiveRecord::ReadOnlyRecord < ::ActiveRecord::ActiveRecordError; end module ActiveRecord::ReadonlyAttributes extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::ReadonlyAttributes::ClassMethods end module ActiveRecord::ReadonlyAttributes::ClassMethods def attr_readonly(*attributes); end def readonly_attribute?(name); end def readonly_attributes; end end class ActiveRecord::RecordInvalid < ::ActiveRecord::ActiveRecordError def initialize(record = T.unsafe(nil)); end def record; end end class ActiveRecord::RecordNotDestroyed < ::ActiveRecord::ActiveRecordError def initialize(message = T.unsafe(nil), record = T.unsafe(nil)); end def record; end end class ActiveRecord::RecordNotFound < ::ActiveRecord::ActiveRecordError def initialize(message = T.unsafe(nil), model = T.unsafe(nil), primary_key = T.unsafe(nil), id = T.unsafe(nil)); end def id; end def model; end def primary_key; end end class ActiveRecord::RecordNotSaved < ::ActiveRecord::ActiveRecordError def initialize(message = T.unsafe(nil), record = T.unsafe(nil)); end def record; end end class ActiveRecord::RecordNotUnique < ::ActiveRecord::WrappedDatabaseException; end module ActiveRecord::Reflection extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::Reflection::ClassMethods class << self def add_aggregate_reflection(ar, name, reflection); end def add_reflection(ar, name, reflection); end def create(macro, name, scope, options, ar); end private def reflection_class_for(macro); end end end class ActiveRecord::Reflection::AbstractReflection def alias_candidate(name); end def build_association(attributes, &block); end def build_scope(table, predicate_builder = T.unsafe(nil), klass = T.unsafe(nil)); end def chain; end def check_validity_of_inverse!; end def class_name; end def constraints; end def counter_cache_column; end def counter_must_be_updated_by_has_many?; end def has_cached_counter?; end def inverse_of; end def inverse_updates_counter_cache?; end def inverse_updates_counter_in_memory?; end def inverse_which_updates_counter_cache; end def join_scope(table, foreign_table, foreign_klass); end def join_scopes(table, predicate_builder, klass = T.unsafe(nil)); end def klass_join_scope(table, predicate_builder); end def scopes; end def strict_loading?; end def table_name; end def through_reflection?; end protected def actual_source_reflection; end private def predicate_builder(table); end def primary_key(klass); end end class ActiveRecord::Reflection::AggregateReflection < ::ActiveRecord::Reflection::MacroReflection def mapping; end end class ActiveRecord::Reflection::AssociationReflection < ::ActiveRecord::Reflection::MacroReflection def initialize(name, scope, options, active_record); end def active_record_primary_key; end def add_as_polymorphic_through(reflection, seed); end def add_as_source(seed); end def add_as_through(seed); end def association_class; end def association_foreign_key; end def association_primary_key(klass = T.unsafe(nil)); end def association_scope_cache(klass, owner, &block); end def belongs_to?; end def check_eager_loadable!; end def check_preloadable!; end def check_validity!; end def clear_association_scope_cache; end def collect_join_chain; end def collection?; end def compute_class(name); end def constructable?; end def extensions; end def foreign_key; end def foreign_type; end def has_inverse?; end def has_one?; end def has_scope?; end def join_foreign_key; end def join_id_for(owner); end def join_primary_key(klass = T.unsafe(nil)); end def join_table; end def macro; end def nested?; end def parent_reflection; end def parent_reflection=(_arg0); end def polymorphic?; end def polymorphic_inverse_of(associated_class); end def source_reflection; end def through_reflection; end def type; end def validate?; end private def automatic_inverse_of; end def calculate_constructable(macro, options); end def can_find_inverse_of_automatically?(reflection); end def derive_class_name; end def derive_foreign_key; end def derive_join_table; end def inverse_name; end def valid_inverse_reflection?(reflection); end end ActiveRecord::Reflection::AssociationReflection::INVALID_AUTOMATIC_INVERSE_OPTIONS = T.let(T.unsafe(nil), Array) ActiveRecord::Reflection::AssociationReflection::VALID_AUTOMATIC_INVERSE_MACROS = T.let(T.unsafe(nil), Array) class ActiveRecord::Reflection::BelongsToReflection < ::ActiveRecord::Reflection::AssociationReflection def association_class; end def association_primary_key(klass = T.unsafe(nil)); end def belongs_to?; end def join_foreign_key; end def join_foreign_type; end def join_primary_key(klass = T.unsafe(nil)); end def macro; end private def calculate_constructable(macro, options); end def can_find_inverse_of_automatically?(_); end end module ActiveRecord::Reflection::ClassMethods def _reflect_on_association(association); end def clear_reflections_cache; end def reflect_on_aggregation(aggregation); end def reflect_on_all_aggregations; end def reflect_on_all_associations(macro = T.unsafe(nil)); end def reflect_on_all_autosave_associations; end def reflect_on_association(association); end def reflections; end end class ActiveRecord::Reflection::HasAndBelongsToManyReflection < ::ActiveRecord::Reflection::AssociationReflection def collection?; end def macro; end end class ActiveRecord::Reflection::HasManyReflection < ::ActiveRecord::Reflection::AssociationReflection def association_class; end def collection?; end def macro; end end class ActiveRecord::Reflection::HasOneReflection < ::ActiveRecord::Reflection::AssociationReflection def association_class; end def has_one?; end def macro; end private def calculate_constructable(macro, options); end end class ActiveRecord::Reflection::MacroReflection < ::ActiveRecord::Reflection::AbstractReflection def initialize(name, scope, options, active_record); end def ==(other_aggregation); end def active_record; end def autosave=(autosave); end def compute_class(name); end def klass; end def name; end def options; end def plural_name; end def scope; end def scope_for(relation, owner = T.unsafe(nil)); end private def derive_class_name; end end class ActiveRecord::Reflection::PolymorphicReflection < ::ActiveRecord::Reflection::AbstractReflection def initialize(reflection, previous_reflection); end def constraints; end def join_foreign_key(*_arg0, &_arg1); end def join_primary_key(*_arg0, &_arg1); end def join_scopes(table, predicate_builder, klass = T.unsafe(nil)); end def klass(*_arg0, &_arg1); end def name(*_arg0, &_arg1); end def plural_name(*_arg0, &_arg1); end def scope(*_arg0, &_arg1); end def scope_for(*_arg0, &_arg1); end def type(*_arg0, &_arg1); end private def source_type_scope; end end class ActiveRecord::Reflection::RuntimeReflection < ::ActiveRecord::Reflection::AbstractReflection def initialize(reflection, association); end def aliased_table; end def all_includes; end def constraints(*_arg0, &_arg1); end def join_foreign_key(*_arg0, &_arg1); end def join_primary_key(klass = T.unsafe(nil)); end def klass; end def scope(*_arg0, &_arg1); end def type(*_arg0, &_arg1); end end class ActiveRecord::Reflection::ThroughReflection < ::ActiveRecord::Reflection::AbstractReflection def initialize(delegate_reflection); end def active_record(*_arg0, &_arg1); end def active_record_primary_key(*_arg0, &_arg1); end def add_as_polymorphic_through(reflection, seed); end def add_as_source(seed); end def add_as_through(seed); end def association_class(*_arg0, &_arg1); end def association_foreign_key(*_arg0, &_arg1); end def association_primary_key(klass = T.unsafe(nil)); end def association_scope_cache(*_arg0, &_arg1); end def autosave=(arg); end def belongs_to?(*_arg0, &_arg1); end def check_eager_loadable!(*_arg0, &_arg1); end def check_preloadable!(*_arg0, &_arg1); end def check_validity!; end def clear_association_scope_cache; end def collect_join_chain; end def collection?(*_arg0, &_arg1); end def compute_class(*_arg0, &_arg1); end def constraints; end def constructable?(*_arg0, &_arg1); end def extensions(*_arg0, &_arg1); end def foreign_key(*_arg0, &_arg1); end def foreign_type(*_arg0, &_arg1); end def has_inverse?(*_arg0, &_arg1); end def has_one?(*_arg0, &_arg1); end def has_scope?; end def join_foreign_key(*_arg0, &_arg1); end def join_id_for(*_arg0, &_arg1); end def join_primary_key(klass = T.unsafe(nil)); end def join_scopes(table, predicate_builder, klass = T.unsafe(nil)); end def join_table(*_arg0, &_arg1); end def klass; end def macro(*_arg0, &_arg1); end def name(*_arg0, &_arg1); end def nested?; end def options(*_arg0, &_arg1); end def parent_reflection(*_arg0, &_arg1); end def parent_reflection=(arg); end def plural_name(*_arg0, &_arg1); end def polymorphic?(*_arg0, &_arg1); end def polymorphic_inverse_of(*_arg0, &_arg1); end def scope(*_arg0, &_arg1); end def scope_for(*_arg0, &_arg1); end def scopes; end def source_options; end def source_reflection; end def source_reflection_name; end def source_reflection_names; end def through_options; end def through_reflection; end def through_reflection?; end def type(*_arg0, &_arg1); end def validate?(*_arg0, &_arg1); end protected def actual_source_reflection; end private def collect_join_reflections(seed); end def delegate_reflection; end def derive_class_name; end def inverse_name; end end class ActiveRecord::Relation include ::Enumerable include ::ActiveRecord::Delegation include ::ActiveRecord::Explain include ::ActiveRecord::Batches include ::ActiveModel::ForbiddenAttributesProtection include ::ActiveRecord::QueryMethods include ::ActiveRecord::SpawnMethods include ::ActiveRecord::Calculations include ::ActiveRecord::FinderMethods extend ::ActiveRecord::Delegation::ClassMethods def initialize(klass, table: T.unsafe(nil), predicate_builder: T.unsafe(nil), values: T.unsafe(nil)); end def ==(other); end def _exec_scope(*args, &block); end def alias_tracker(joins = T.unsafe(nil), aliases = T.unsafe(nil)); end def any?; end def arel_attribute(*args, &block); end def bind_attribute(name, value); end def blank?; end def build(attributes = T.unsafe(nil), &block); end def cache_key(timestamp_column = T.unsafe(nil)); end def cache_key_with_version; end def cache_version(timestamp_column = T.unsafe(nil)); end def create(attributes = T.unsafe(nil), &block); end def create!(attributes = T.unsafe(nil), &block); end def create_or_find_by(attributes, &block); end def create_or_find_by!(attributes, &block); end def delete_all; end def delete_by(*args); end def destroy_all; end def destroy_by(*args); end def eager_loading?; end def empty?; end def empty_scope?; end def encode_with(coder); end def explain; end def find_or_create_by(attributes, &block); end def find_or_create_by!(attributes, &block); end def find_or_initialize_by(attributes, &block); end def first_or_create(attributes = T.unsafe(nil), &block); end def first_or_create!(attributes = T.unsafe(nil), &block); end def first_or_initialize(attributes = T.unsafe(nil), &block); end def has_limit_or_offset?; end def inspect; end def joined_includes_values; end def klass; end def load(&block); end def loaded; end def loaded?; end def locked?; end def many?; end def model; end def new(attributes = T.unsafe(nil), &block); end def none?; end def one?; end def predicate_builder; end def preload_associations(records); end def pretty_print(q); end def records; end def reload; end def reset; end def scope_for_create; end def scoping; end def size; end def skip_preloading_value; end def skip_preloading_value=(_arg0); end def table; end def to_a; end def to_ary; end def to_sql; end def touch_all(*names, time: T.unsafe(nil)); end def update(id = T.unsafe(nil), attributes); end def update_all(updates); end def update_counters(counters); end def values; end def where_values_hash(relation_table_name = T.unsafe(nil)); end protected def load_records(records); end def null_relation?; end private def _create(attributes, &block); end def _create!(attributes, &block); end def _increment_attribute(attribute, value = T.unsafe(nil)); end def _new(attributes, &block); end def _scoping(scope); end def _substitute_values(values); end def already_in_scope?; end def build_preloader; end def compute_cache_key(timestamp_column = T.unsafe(nil)); end def compute_cache_version(timestamp_column); end def current_scope_restoring_block(&block); end def exec_queries(&block); end def initialize_copy(other); end def references_eager_loaded_tables?; end def skip_query_cache_if_necessary; end def tables_in_string(string); end end ActiveRecord::Relation::CLAUSE_METHODS = T.let(T.unsafe(nil), Array) class ActiveRecord::Relation::FromClause def initialize(value, name); end def ==(other); end def empty?; end def merge(other); end def name; end def value; end class << self def empty; end end end class ActiveRecord::Relation::HashMerger def initialize(relation, hash, rewhere = T.unsafe(nil)); end def hash; end def merge; end def other; end def relation; end end ActiveRecord::Relation::INVALID_METHODS_FOR_DELETE_ALL = T.let(T.unsafe(nil), Array) ActiveRecord::Relation::MULTI_VALUE_METHODS = T.let(T.unsafe(nil), Array) class ActiveRecord::Relation::Merger def initialize(relation, other, rewhere = T.unsafe(nil)); end def merge; end def normal_values; end def other; end def relation; end def values; end private def merge_clauses; end def merge_joins; end def merge_multi_values; end def merge_outer_joins; end def merge_preloads; end def merge_single_values; end def replace_from_clause?; end end ActiveRecord::Relation::Merger::NORMAL_VALUES = T.let(T.unsafe(nil), Array) class ActiveRecord::Relation::QueryAttribute < ::ActiveModel::Attribute def infinite?; end def nil?; end def type_cast(value); end def unboundable?; end def value_for_database; end def with_cast_value(value); end private def infinity?(value); end end ActiveRecord::Relation::SINGLE_VALUE_METHODS = T.let(T.unsafe(nil), Array) class ActiveRecord::Relation::StrictLoadingScope class << self def empty_scope?; end def strict_loading_value; end end end ActiveRecord::Relation::VALUE_METHODS = T.let(T.unsafe(nil), Array) class ActiveRecord::Relation::WhereClause def initialize(predicates); end def +(other); end def -(other); end def ==(other); end def any?(*_arg0, &_arg1); end def ast; end def contradiction?; end def empty?(*_arg0, &_arg1); end def except(*columns); end def extract_attributes; end def invert; end def merge(other, rewhere = T.unsafe(nil)); end def or(other); end def to_h(table_name = T.unsafe(nil), equality_only: T.unsafe(nil)); end def |(other); end protected def predicates; end def referenced_columns; end private def each_attributes; end def equalities(predicates, equality_only); end def equality_node?(node); end def except_predicates(columns); end def extract_attribute(node); end def extract_node_value(node); end def invert_predicate(node); end def non_empty_predicates; end def predicates_unreferenced_by(other); end def predicates_with_wrapped_sql_literals; end def wrap_sql_literal(node); end class << self def empty; end end end ActiveRecord::Relation::WhereClause::ARRAY_WITH_EMPTY_STRING = T.let(T.unsafe(nil), Array) class ActiveRecord::Relation::WhereClauseFactory; end class ActiveRecord::Result include ::Enumerable def initialize(columns, rows, column_types = T.unsafe(nil)); end def [](idx); end def cast_values(type_overrides = T.unsafe(nil)); end def collect!(*args, &block); end def column_types; end def columns; end def each; end def empty?; end def includes_column?(name); end def last(n = T.unsafe(nil)); end def length; end def map!(*args, &block); end def rows; end def to_a; end def to_ary; end private def column_type(name, type_overrides = T.unsafe(nil)); end def hash_rows; end def initialize_copy(other); end end class ActiveRecord::Rollback < ::ActiveRecord::ActiveRecordError; end class ActiveRecord::RuntimeRegistry extend ::ActiveSupport::PerThreadRegistry def sql_runtime; end def sql_runtime=(_arg0); end class << self def sql_runtime; end def sql_runtime=(x); end end end module ActiveRecord::Sanitization extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::Sanitization::ClassMethods end module ActiveRecord::Sanitization::ClassMethods def disallow_raw_sql!(args, permit: T.unsafe(nil)); end def sanitize_sql(condition); end def sanitize_sql_array(ary); end def sanitize_sql_for_assignment(assignments, default_table_name = T.unsafe(nil)); end def sanitize_sql_for_conditions(condition); end def sanitize_sql_for_order(condition); end def sanitize_sql_hash_for_assignment(attrs, table); end def sanitize_sql_like(string, escape_character = T.unsafe(nil)); end private def quote_bound_value(value, c = T.unsafe(nil)); end def raise_if_bind_arity_mismatch(statement, expected, provided); end def replace_bind_variable(value, c = T.unsafe(nil)); end def replace_bind_variables(statement, values); end def replace_named_bind_variables(statement, bind_vars); end end class ActiveRecord::Schema < ::ActiveRecord::Migration::Current def define(info, &block); end class << self def define(info = T.unsafe(nil), &block); end end end class ActiveRecord::SchemaDumper def initialize(connection, options = T.unsafe(nil)); end def chk_ignore_pattern; end def chk_ignore_pattern=(val); end def dump(stream); end def fk_ignore_pattern; end def fk_ignore_pattern=(val); end def ignore_tables; end def ignore_tables=(val); end private def check_constraints_in_create(table, stream); end def define_params; end def extensions(stream); end def foreign_keys(table, stream); end def format_colspec(colspec); end def format_index_parts(options); end def format_options(options); end def formatted_version; end def header(stream); end def ignored?(table_name); end def index_parts(index); end def indexes(table, stream); end def indexes_in_create(table, stream); end def remove_prefix_and_suffix(table); end def table(table, stream); end def table_name; end def table_name=(_arg0); end def tables(stream); end def trailer(stream); end class << self def chk_ignore_pattern; end def chk_ignore_pattern=(val); end def dump(connection = T.unsafe(nil), stream = T.unsafe(nil), config = T.unsafe(nil)); end def fk_ignore_pattern; end def fk_ignore_pattern=(val); end def ignore_tables; end def ignore_tables=(val); end private def generate_options(config); end end end class ActiveRecord::SchemaMigration < ::ActiveRecord::Base include ::ActiveRecord::SchemaMigration::GeneratedAttributeMethods include ::ActiveRecord::SchemaMigration::GeneratedAssociationMethods def version; end class << self def _internal?; end def _validators; end def all_versions; end def create_table; end def defined_enums; end def drop_table; end def normalize_migration_number(number); end def normalized_versions; end def primary_key; end def table_name; end end end module ActiveRecord::SchemaMigration::GeneratedAssociationMethods; end module ActiveRecord::SchemaMigration::GeneratedAttributeMethods; end module ActiveRecord::Scoping extend ::ActiveSupport::Concern extend ::ActiveSupport::Autoload include ::ActiveRecord::Scoping::Default include ::ActiveRecord::Scoping::Named mixes_in_class_methods ::ActiveRecord::Scoping::ClassMethods mixes_in_class_methods ::ActiveRecord::Scoping::Default::ClassMethods mixes_in_class_methods ::ActiveRecord::Scoping::Named::ClassMethods def initialize_internals_callback; end def populate_with_current_scope_attributes; end end module ActiveRecord::Scoping::ClassMethods def current_scope(skip_inherited_scope = T.unsafe(nil)); end def current_scope=(scope); end def scope_attributes; end def scope_attributes?; end end module ActiveRecord::Scoping::Default extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::Scoping::Default::ClassMethods end module ActiveRecord::Scoping::Default::ClassMethods def before_remove_const; end def scope_attributes?; end def unscoped; end private def build_default_scope(relation = T.unsafe(nil)); end def default_scope(scope = T.unsafe(nil), &block); end def evaluate_default_scope; end def ignore_default_scope=(ignore); end def ignore_default_scope?; end end module ActiveRecord::Scoping::Named extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::Scoping::Named::ClassMethods end module ActiveRecord::Scoping::Named::ClassMethods def all; end def default_extensions; end def default_scoped(scope = T.unsafe(nil)); end def scope(name, body, &block); end def scope_for_association(scope = T.unsafe(nil)); end private def singleton_method_added(name); end def valid_scope_name?(name); end end class ActiveRecord::Scoping::ScopeRegistry extend ::ActiveSupport::PerThreadRegistry def initialize; end def set_value_for(scope_type, model, value); end def value_for(scope_type, model, skip_inherited_scope = T.unsafe(nil)); end private def raise_invalid_scope_type!(scope_type); end end ActiveRecord::Scoping::ScopeRegistry::VALID_SCOPE_TYPES = T.let(T.unsafe(nil), Array) module ActiveRecord::SecureToken extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::SecureToken::ClassMethods end module ActiveRecord::SecureToken::ClassMethods def generate_unique_secure_token(length: T.unsafe(nil)); end def has_secure_token(attribute = T.unsafe(nil), length: T.unsafe(nil)); end end ActiveRecord::SecureToken::MINIMUM_TOKEN_LENGTH = T.let(T.unsafe(nil), Integer) class ActiveRecord::SecureToken::MinimumLengthError < ::StandardError; end module ActiveRecord::Serialization extend ::ActiveSupport::Concern include ::ActiveModel::Serializers::JSON mixes_in_class_methods ::ActiveModel::Naming def serializable_hash(options = T.unsafe(nil)); end end class ActiveRecord::SerializationFailure < ::ActiveRecord::TransactionRollbackError; end class ActiveRecord::SerializationTypeMismatch < ::ActiveRecord::ActiveRecordError; end module ActiveRecord::SignedId extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::SignedId::ClassMethods def signed_id(expires_in: T.unsafe(nil), purpose: T.unsafe(nil)); end end module ActiveRecord::SignedId::ClassMethods def combine_signed_id_purposes(purpose); end def find_signed(signed_id, purpose: T.unsafe(nil)); end def find_signed!(signed_id, purpose: T.unsafe(nil)); end def signed_id_verifier; end def signed_id_verifier=(verifier); end end module ActiveRecord::SpawnMethods def except(*skips); end def merge(other, *rest); end def merge!(other, *rest); end def only(*onlies); end def spawn; end private def relation_with(values); end end class ActiveRecord::StaleObjectError < ::ActiveRecord::ActiveRecordError def initialize(record = T.unsafe(nil), attempted_action = T.unsafe(nil)); end def attempted_action; end def record; end end class ActiveRecord::StatementCache def initialize(query_builder, bind_map, klass); end def execute(params, connection, &block); end private def bind_map; end def klass; end def query_builder; end class << self def create(connection, callable = T.unsafe(nil), &block); end def partial_query(values); end def partial_query_collector; end def query(sql); end def unsupported_value?(value); end end end class ActiveRecord::StatementCache::BindMap def initialize(bound_attributes); end def bind(values); end end class ActiveRecord::StatementCache::Params def bind; end end class ActiveRecord::StatementCache::PartialQuery < ::ActiveRecord::StatementCache::Query def initialize(values); end def sql_for(binds, connection); end end class ActiveRecord::StatementCache::PartialQueryCollector def initialize; end def <<(str); end def add_bind(obj); end def add_binds(binds, proc_for_binds = T.unsafe(nil)); end def preparable; end def preparable=(_arg0); end def value; end end class ActiveRecord::StatementCache::Query def initialize(sql); end def sql_for(binds, connection); end end class ActiveRecord::StatementCache::Substitute; end class ActiveRecord::StatementInvalid < ::ActiveRecord::ActiveRecordError def initialize(message = T.unsafe(nil), sql: T.unsafe(nil), binds: T.unsafe(nil)); end def binds; end def sql; end end class ActiveRecord::StatementTimeout < ::ActiveRecord::QueryAborted; end module ActiveRecord::Store extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::Store::ClassMethods private def read_store_attribute(store_attribute, key); end def store_accessor_for(store_attribute); end def write_store_attribute(store_attribute, key, value); end end module ActiveRecord::Store::ClassMethods def _store_accessors_module; end def store(store_attribute, options = T.unsafe(nil)); end def store_accessor(store_attribute, *keys, prefix: T.unsafe(nil), suffix: T.unsafe(nil)); end def stored_attributes; end end class ActiveRecord::Store::HashAccessor class << self def prepare(object, attribute); end def read(object, attribute, key); end def write(object, attribute, key, value); end end end class ActiveRecord::Store::IndifferentCoder def initialize(attr_name, coder_or_class_name); end def dump(obj); end def load(yaml); end class << self def as_indifferent_hash(obj); end end end class ActiveRecord::Store::IndifferentHashAccessor < ::ActiveRecord::Store::HashAccessor class << self def prepare(object, store_attribute); end end end class ActiveRecord::Store::StringKeyedHashAccessor < ::ActiveRecord::Store::HashAccessor class << self def read(object, attribute, key); end def write(object, attribute, key, value); end end end class ActiveRecord::StrictLoadingViolationError < ::ActiveRecord::ActiveRecordError; end class ActiveRecord::SubclassNotFound < ::ActiveRecord::ActiveRecordError; end module ActiveRecord::Suppressor extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::Suppressor::ClassMethods def save(**_arg0); end def save!(**_arg0); end end module ActiveRecord::Suppressor::ClassMethods def suppress(&block); end end class ActiveRecord::SuppressorRegistry extend ::ActiveSupport::PerThreadRegistry def initialize; end def suppressed; end end class ActiveRecord::TableMetadata def initialize(klass, arel_table, reflection = T.unsafe(nil)); end def aggregated_with?(aggregation_name); end def arel_table; end def associated_table(table_name); end def associated_with?(table_name); end def has_column?(column_name); end def join_foreign_key(*_arg0, &_arg1); end def join_foreign_type(*_arg0, &_arg1); end def join_primary_key(*_arg0, &_arg1); end def polymorphic_association?; end def predicate_builder; end def primary_key; end def reflect_on_aggregation(aggregation_name); end def through_association?; end def type(column_name); end private def klass; end def reflection; end end class ActiveRecord::TableNotSpecified < ::ActiveRecord::ActiveRecordError; end module ActiveRecord::Tasks extend ::ActiveSupport::Autoload end class ActiveRecord::Tasks::DatabaseNotSupported < ::StandardError; end module ActiveRecord::Tasks::DatabaseTasks extend ::ActiveRecord::Tasks::DatabaseTasks def cache_dump_filename(db_config_name, schema_cache_path: T.unsafe(nil)); end def charset(configuration, *arguments); end def charset_current(env_name = T.unsafe(nil), db_name = T.unsafe(nil)); end def check_protected_environments!; end def check_schema_file(filename); end def check_target_version; end def clear_schema_cache(filename); end def collation(configuration, *arguments); end def collation_current(env_name = T.unsafe(nil), db_name = T.unsafe(nil)); end def create(configuration, *arguments); end def create_all; end def create_current(environment = T.unsafe(nil), name = T.unsafe(nil)); end def current_config(*args, &block); end def current_config=(*args, &block); end def database_configuration; end def database_configuration=(_arg0); end def db_dir; end def db_dir=(_arg0); end def drop(configuration, *arguments); end def drop_all; end def drop_current(environment = T.unsafe(nil)); end def dump_filename(db_config_name, format = T.unsafe(nil)); end def dump_schema(db_config, format = T.unsafe(nil)); end def dump_schema_cache(conn, filename); end def env; end def env=(_arg0); end def fixtures_path; end def fixtures_path=(_arg0); end def for_each(databases); end def load_schema(db_config, format = T.unsafe(nil), file = T.unsafe(nil)); end def load_schema_current(format = T.unsafe(nil), file = T.unsafe(nil), environment = T.unsafe(nil)); end def load_seed; end def migrate; end def migrate_status; end def migrations_paths; end def migrations_paths=(_arg0); end def name; end def purge(configuration); end def purge_all; end def purge_current(environment = T.unsafe(nil)); end def raise_for_multi_db(environment = T.unsafe(nil), command:); end def reconstruct_from_schema(db_config, format = T.unsafe(nil), file = T.unsafe(nil)); end def register_task(pattern, task); end def root; end def root=(_arg0); end def schema_file(format = T.unsafe(nil)); end def schema_file_type(format = T.unsafe(nil)); end def schema_up_to_date?(configuration, format = T.unsafe(nil), file = T.unsafe(nil), environment = T.unsafe(nil), name = T.unsafe(nil)); end def seed_loader; end def seed_loader=(_arg0); end def setup_initial_database_yaml; end def spec(*args, &block); end def structure_dump(configuration, *arguments); end def structure_load(configuration, *arguments); end def target_version; end def truncate_all(environment = T.unsafe(nil)); end private def class_for_adapter(adapter); end def database_adapter_for(db_config, *arguments); end def each_current_configuration(environment, name = T.unsafe(nil)); end def each_local_configuration; end def local_database?(db_config); end def resolve_configuration(configuration); end def schema_sha1(file); end def truncate_tables(db_config); end def verbose?; end class << self def structure_dump_flags; end def structure_dump_flags=(val); end def structure_load_flags; end def structure_load_flags=(val); end end end ActiveRecord::Tasks::DatabaseTasks::LOCAL_HOSTS = T.let(T.unsafe(nil), Array) class ActiveRecord::Tasks::MySQLDatabaseTasks def initialize(db_config); end def charset; end def collation; end def connection(*_arg0, &_arg1); end def create; end def drop; end def establish_connection(*_arg0, &_arg1); end def purge; end def structure_dump(filename, extra_flags); end def structure_load(filename, extra_flags); end private def configuration_hash; end def configuration_hash_without_database; end def creation_options; end def db_config; end def prepare_command_options; end def run_cmd(cmd, args, action); end def run_cmd_error(cmd, args, action); end class << self def using_database_configurations?; end end end ActiveRecord::Tasks::MySQLDatabaseTasks::ER_DB_CREATE_EXISTS = T.let(T.unsafe(nil), Integer) class ActiveRecord::Tasks::PostgreSQLDatabaseTasks def initialize(db_config); end def charset; end def clear_active_connections!(*_arg0, &_arg1); end def collation; end def connection(*_arg0, &_arg1); end def create(master_established = T.unsafe(nil)); end def drop; end def establish_connection(*_arg0, &_arg1); end def purge; end def structure_dump(filename, extra_flags); end def structure_load(filename, extra_flags); end private def configuration_hash; end def db_config; end def encoding; end def establish_master_connection; end def remove_sql_header_comments(filename); end def run_cmd(cmd, args, action); end def run_cmd_error(cmd, args, action); end def set_psql_env; end class << self def using_database_configurations?; end end end ActiveRecord::Tasks::PostgreSQLDatabaseTasks::DEFAULT_ENCODING = T.let(T.unsafe(nil), String) ActiveRecord::Tasks::PostgreSQLDatabaseTasks::ON_ERROR_STOP_1 = T.let(T.unsafe(nil), String) ActiveRecord::Tasks::PostgreSQLDatabaseTasks::SQL_COMMENT_BEGIN = T.let(T.unsafe(nil), String) class ActiveRecord::Tasks::SQLiteDatabaseTasks def initialize(db_config, root = T.unsafe(nil)); end def charset; end def connection(*_arg0, &_arg1); end def create; end def drop; end def establish_connection(*_arg0, &_arg1); end def purge; end def structure_dump(filename, extra_flags); end def structure_load(filename, extra_flags); end private def db_config; end def root; end def run_cmd(cmd, args, out); end def run_cmd_error(cmd, args); end class << self def using_database_configurations?; end end end module ActiveRecord::TestDatabases class << self def create_and_load_schema(i, env_name:); end end end module ActiveRecord::TestFixtures extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::TestFixtures::ClassMethods def after_teardown; end def before_setup; end def enlist_fixture_connections; end def run_in_transaction?; end def setup_fixtures(config = T.unsafe(nil)); end def teardown_fixtures; end private def instantiate_fixtures; end def load_fixtures(config); end def load_instances?; end def setup_shared_connection_pool; end def teardown_shared_connection_pool; end end module ActiveRecord::TestFixtures::ClassMethods def fixtures(*fixture_set_names); end def set_fixture_class(class_names = T.unsafe(nil)); end def setup_fixture_accessors(fixture_set_names = T.unsafe(nil)); end def uses_transaction(*methods); end def uses_transaction?(method); end end class ActiveRecord::ThroughCantAssociateThroughHasOneOrManyReflection < ::ActiveRecord::ActiveRecordError def initialize(owner = T.unsafe(nil), reflection = T.unsafe(nil)); end end class ActiveRecord::ThroughNestedAssociationsAreReadonly < ::ActiveRecord::ActiveRecordError def initialize(owner = T.unsafe(nil), reflection = T.unsafe(nil)); end end module ActiveRecord::Timestamp extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::Timestamp::ClassMethods private def _create_record; end def _update_record; end def all_timestamp_attributes_in_model; end def clear_timestamp_attributes; end def create_or_update(touch: T.unsafe(nil), **_arg1); end def current_time_from_proper_timezone; end def initialize_dup(other); end def max_updated_column_timestamp; end def should_record_timestamps?; end def timestamp_attributes_for_create_in_model; end def timestamp_attributes_for_update_in_model; end end module ActiveRecord::Timestamp::ClassMethods def all_timestamp_attributes_in_model; end def current_time_from_proper_timezone; end def timestamp_attributes_for_create_in_model; end def timestamp_attributes_for_update_in_model; end def touch_attributes_with_time(*names, time: T.unsafe(nil)); end private def reload_schema_from_cache; end def timestamp_attributes_for_create; end def timestamp_attributes_for_update; end end module ActiveRecord::TouchLater def before_committed!; end def touch(*names, time: T.unsafe(nil)); end def touch_later(*names); end private def belongs_to_touch_method; end def has_defer_touch_attrs?; end def surreptitiously_touch(attr_names); end def touch_deferred_attributes; end end class ActiveRecord::TransactionIsolationError < ::ActiveRecord::ActiveRecordError; end class ActiveRecord::TransactionRollbackError < ::ActiveRecord::StatementInvalid; end module ActiveRecord::Transactions extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::Transactions::ClassMethods def before_committed!; end def committed!(should_run_callbacks: T.unsafe(nil)); end def destroy; end def rolledback!(force_restore_state: T.unsafe(nil), should_run_callbacks: T.unsafe(nil)); end def save(**_arg0); end def save!(**_arg0); end def touch(*_arg0, **_arg1); end def transaction(**options, &block); end def trigger_transactional_callbacks?; end def with_transaction_returning_status; end private def _committed_already_called; end def _trigger_destroy_callback; end def _trigger_update_callback; end def add_to_transaction(ensure_finalize = T.unsafe(nil)); end def clear_transaction_record_state; end def force_clear_transaction_record_state; end def has_transactional_callbacks?; end def remember_transaction_record_state; end def restore_transaction_record_state(force_restore_state = T.unsafe(nil)); end def transaction_include_any_action?(actions); end end ActiveRecord::Transactions::ACTIONS = T.let(T.unsafe(nil), Array) module ActiveRecord::Transactions::ClassMethods def after_commit(*args, &block); end def after_create_commit(*args, &block); end def after_destroy_commit(*args, &block); end def after_rollback(*args, &block); end def after_save_commit(*args, &block); end def after_update_commit(*args, &block); end def before_commit(*args, &block); end def transaction(**options, &block); end private def assert_valid_transaction_action(actions); end def set_options_for_callbacks!(args, enforced_options = T.unsafe(nil)); end end module ActiveRecord::Translation include ::ActiveModel::Naming include ::ActiveModel::Translation def i18n_scope; end def lookup_ancestors; end end module ActiveRecord::Type class << self def adapter_name_from(model); end def add_modifier(*_arg0, &_arg1); end def default_value; end def lookup(*args, adapter: T.unsafe(nil), **kwargs); end def register(type_name, klass = T.unsafe(nil), **options, &block); end def registry; end def registry=(_arg0); end private def current_adapter_name; end end end class ActiveRecord::Type::AdapterSpecificRegistry < ::ActiveModel::Type::Registry def add_modifier(options, klass, **args); end private def find_registration(symbol, *args, **kwargs); end def registration_klass; end end ActiveRecord::Type::BigInteger = ActiveModel::Type::BigInteger ActiveRecord::Type::Binary = ActiveModel::Type::Binary ActiveRecord::Type::Boolean = ActiveModel::Type::Boolean class ActiveRecord::Type::Date < ::ActiveModel::Type::Date include ::ActiveRecord::Type::Internal::Timezone end class ActiveRecord::Type::DateTime < ::ActiveModel::Type::DateTime include ::ActiveRecord::Type::Internal::Timezone end ActiveRecord::Type::Decimal = ActiveModel::Type::Decimal class ActiveRecord::Type::DecimalWithoutScale < ::ActiveModel::Type::BigInteger def type; end def type_cast_for_schema(value); end end class ActiveRecord::Type::DecorationRegistration < ::ActiveRecord::Type::Registration def initialize(options, klass, adapter: T.unsafe(nil)); end def call(registry, *args, **kwargs); end def matches?(*args, **kwargs); end def priority; end private def klass; end def matches_options?(**kwargs); end def options; end end ActiveRecord::Type::Float = ActiveModel::Type::Float class ActiveRecord::Type::HashLookupTypeMap < ::ActiveRecord::Type::TypeMap def alias_type(type, alias_type); end def key?(key); end def keys; end private def perform_fetch(type, *args, &block); end end ActiveRecord::Type::ImmutableString = ActiveModel::Type::ImmutableString ActiveRecord::Type::Integer = ActiveModel::Type::Integer module ActiveRecord::Type::Internal; end module ActiveRecord::Type::Internal::Timezone def default_timezone; end def is_utc?; end end class ActiveRecord::Type::Json < ::ActiveModel::Type::Value include ::ActiveModel::Type::Helpers::Mutable def accessor; end def changed_in_place?(raw_old_value, new_value); end def deserialize(value); end def serialize(value); end def type; end end class ActiveRecord::Type::Registration def initialize(name, block, adapter: T.unsafe(nil), override: T.unsafe(nil)); end def <=>(other); end def call(_registry, *args, adapter: T.unsafe(nil), **kwargs); end def matches?(type_name, *args, **kwargs); end protected def adapter; end def block; end def name; end def override; end def priority; end def priority_except_adapter; end private def conflicts_with?(other); end def has_adapter_conflict?(other); end def matches_adapter?(adapter: T.unsafe(nil), **_arg1); end def same_priority_except_adapter?(other); end end class ActiveRecord::Type::Serialized include ::ActiveModel::Type::Helpers::Mutable def initialize(subtype, coder); end def accessor; end def assert_valid_value(value); end def changed_in_place?(raw_old_value, value); end def coder; end def deserialize(value); end def force_equality?(value); end def inspect; end def serialize(value); end def subtype; end private def default_value?(value); end def encoded(value); end end ActiveRecord::Type::String = ActiveModel::Type::String class ActiveRecord::Type::Text < ::ActiveModel::Type::String def type; end end class ActiveRecord::Type::Time < ::ActiveModel::Type::Time include ::ActiveRecord::Type::Internal::Timezone def serialize(value); end private def cast_value(value); end end class ActiveRecord::Type::Time::Value; end class ActiveRecord::Type::TypeMap def initialize; end def alias_type(key, target_key); end def clear; end def fetch(lookup_key, *args, &block); end def lookup(lookup_key, *args); end def register_type(key, value = T.unsafe(nil), &block); end private def perform_fetch(lookup_key, *args); end end class ActiveRecord::Type::UnsignedInteger < ::ActiveModel::Type::Integer private def max_value; end def min_value; end end ActiveRecord::Type::Value = ActiveModel::Type::Value module ActiveRecord::TypeCaster; end class ActiveRecord::TypeCaster::Connection def initialize(klass, table_name); end def type_cast_for_database(attr_name, value); end def type_for_attribute(attr_name); end private def connection(*_arg0, &_arg1); end def table_name; end end class ActiveRecord::TypeCaster::Map def initialize(klass); end def type_cast_for_database(attr_name, value); end def type_for_attribute(name); end private def klass; end end class ActiveRecord::TypeConflictError < ::StandardError; end ActiveRecord::UnknownAttributeError = ActiveModel::UnknownAttributeError class ActiveRecord::UnknownAttributeReference < ::ActiveRecord::ActiveRecordError; end class ActiveRecord::UnknownMigrationVersionError < ::ActiveRecord::MigrationError def initialize(version = T.unsafe(nil)); end end class ActiveRecord::UnknownPrimaryKey < ::ActiveRecord::ActiveRecordError def initialize(model = T.unsafe(nil), description = T.unsafe(nil)); end def model; end end module ActiveRecord::VERSION; end ActiveRecord::VERSION::MAJOR = T.let(T.unsafe(nil), Integer) ActiveRecord::VERSION::MINOR = T.let(T.unsafe(nil), Integer) ActiveRecord::VERSION::PRE = T.let(T.unsafe(nil), String) ActiveRecord::VERSION::STRING = T.let(T.unsafe(nil), String) ActiveRecord::VERSION::TINY = T.let(T.unsafe(nil), Integer) module ActiveRecord::Validations extend ::ActiveSupport::Concern include ::ActiveSupport::Callbacks include ::ActiveModel::Validations::HelperMethods include ::ActiveModel::Validations mixes_in_class_methods ::ActiveModel::Validations::ClassMethods mixes_in_class_methods ::ActiveModel::Naming mixes_in_class_methods ::ActiveModel::Callbacks mixes_in_class_methods ::ActiveSupport::Callbacks::ClassMethods mixes_in_class_methods ::ActiveSupport::DescendantsTracker mixes_in_class_methods ::ActiveModel::Translation mixes_in_class_methods ::ActiveModel::Validations::HelperMethods mixes_in_class_methods ::ActiveRecord::Validations::ClassMethods def save(**options); end def save!(**options); end def valid?(context = T.unsafe(nil)); end def validate(context = T.unsafe(nil)); end private def default_validation_context; end def perform_validations(options = T.unsafe(nil)); end def raise_validation_error; end end class ActiveRecord::Validations::AbsenceValidator < ::ActiveModel::Validations::AbsenceValidator def validate_each(record, attribute, association_or_value); end end class ActiveRecord::Validations::AssociatedValidator < ::ActiveModel::EachValidator def validate_each(record, attribute, value); end private def valid_object?(record); end end module ActiveRecord::Validations::ClassMethods def validates_absence_of(*attr_names); end def validates_associated(*attr_names); end def validates_length_of(*attr_names); end def validates_numericality_of(*attr_names); end def validates_presence_of(*attr_names); end def validates_size_of(*attr_names); end def validates_uniqueness_of(*attr_names); end end class ActiveRecord::Validations::LengthValidator < ::ActiveModel::Validations::LengthValidator def validate_each(record, attribute, association_or_value); end end class ActiveRecord::Validations::NumericalityValidator < ::ActiveModel::Validations::NumericalityValidator def validate_each(record, attribute, value, precision: T.unsafe(nil), scale: T.unsafe(nil)); end private def column_precision_for(record, attribute); end def column_scale_for(record, attribute); end end class ActiveRecord::Validations::PresenceValidator < ::ActiveModel::Validations::PresenceValidator def validate_each(record, attribute, association_or_value); end end class ActiveRecord::Validations::UniquenessValidator < ::ActiveModel::EachValidator def initialize(options); end def validate_each(record, attribute, value); end private def build_relation(klass, attribute, value); end def find_finder_class_for(record); end def map_enum_attribute(klass, attribute, value); end def scope_relation(record, relation); end end class ActiveRecord::ValueTooLong < ::ActiveRecord::StatementInvalid; end class ActiveRecord::WrappedDatabaseException < ::ActiveRecord::StatementInvalid; end module Arel class << self def arel_node?(value); end def fetch_attribute(value, &block); end def sql(raw_sql); end def star; end end end module Arel::AliasPredication def as(other); end end class Arel::ArelError < ::StandardError; end Arel::Attribute = Arel::Attributes::Attribute module Arel::Attributes; end class Arel::Attributes::Attribute < ::Struct include ::Arel::Expressions include ::Arel::Predications include ::Arel::AliasPredication include ::Arel::OrderPredications include ::Arel::Math def able_to_type_cast?; end def lower; end def type_cast_for_database(value); end def type_caster; end end class Arel::Attributes::Boolean < ::Arel::Attributes::Attribute; end class Arel::Attributes::Decimal < ::Arel::Attributes::Attribute; end class Arel::Attributes::Float < ::Arel::Attributes::Attribute; end class Arel::Attributes::Integer < ::Arel::Attributes::Attribute; end class Arel::Attributes::String < ::Arel::Attributes::Attribute; end class Arel::Attributes::Time < ::Arel::Attributes::Attribute; end class Arel::Attributes::Undefined < ::Arel::Attributes::Attribute; end module Arel::Collectors; end class Arel::Collectors::Bind def initialize; end def <<(str); end def add_bind(bind); end def add_binds(binds, proc_for_binds = T.unsafe(nil)); end def value; end end class Arel::Collectors::Composite def initialize(left, right); end def <<(str); end def add_bind(bind, &block); end def add_binds(binds, proc_for_binds = T.unsafe(nil), &block); end def preparable; end def preparable=(_arg0); end def value; end private def left; end def right; end end class Arel::Collectors::PlainString def initialize; end def <<(str); end def value; end end class Arel::Collectors::SQLString < ::Arel::Collectors::PlainString def initialize(*_arg0); end def add_bind(bind); end def add_binds(binds, proc_for_binds = T.unsafe(nil), &block); end def preparable; end def preparable=(_arg0); end end class Arel::Collectors::SubstituteBinds def initialize(quoter, delegate_collector); end def <<(str); end def add_bind(bind); end def add_binds(binds, proc_for_binds = T.unsafe(nil)); end def preparable; end def preparable=(_arg0); end def value; end private def delegate; end def quoter; end end module Arel::Crud def compile_delete; end def compile_insert(values); end def compile_update(values, pk); end def create_insert; end end class Arel::DeleteManager < ::Arel::TreeManager include ::Arel::TreeManager::StatementMethods def initialize; end def from(relation); end end class Arel::EmptyJoinError < ::Arel::ArelError; end module Arel::Expressions def average; end def count(distinct = T.unsafe(nil)); end def extract(field); end def maximum; end def minimum; end def sum; end end module Arel::FactoryMethods def coalesce(*exprs); end def create_and(clauses); end def create_false; end def create_join(to, constraint = T.unsafe(nil), klass = T.unsafe(nil)); end def create_on(expr); end def create_string_join(to); end def create_table_alias(relation, name); end def create_true; end def grouping(expr); end def lower(column); end end class Arel::InsertManager < ::Arel::TreeManager def initialize; end def columns; end def create_values(values); end def create_values_list(rows); end def insert(fields); end def into(table); end def select(select); end def values=(val); end end module Arel::Math def &(other); end def *(other); end def +(other); end def -(other); end def /(other); end def <<(other); end def >>(other); end def ^(other); end def |(other); end def ~; end end module Arel::Nodes class << self def build_quoted(other, attribute = T.unsafe(nil)); end end end class Arel::Nodes::Addition < ::Arel::Nodes::InfixOperation def initialize(left, right); end end class Arel::Nodes::And < ::Arel::Nodes::NodeExpression def initialize(children); end def ==(other); end def children; end def eql?(other); end def hash; end def left; end def right; end end class Arel::Nodes::As < ::Arel::Nodes::Binary; end class Arel::Nodes::Ascending < ::Arel::Nodes::Ordering def ascending?; end def descending?; end def direction; end def reverse; end end class Arel::Nodes::Assignment < ::Arel::Nodes::Binary; end class Arel::Nodes::Avg < ::Arel::Nodes::Function; end class Arel::Nodes::Between < ::Arel::Nodes::Binary include ::Arel::Nodes::FetchAttribute end class Arel::Nodes::Bin < ::Arel::Nodes::Unary; end class Arel::Nodes::Binary < ::Arel::Nodes::NodeExpression def initialize(left, right); end def ==(other); end def eql?(other); end def hash; end def left; end def left=(_arg0); end def right; end def right=(_arg0); end private def initialize_copy(other); end end class Arel::Nodes::BindParam < ::Arel::Nodes::Node def initialize(value); end def ==(other); end def eql?(other); end def hash; end def infinite?; end def nil?; end def unboundable?; end def value; end def value_before_type_cast; end end class Arel::Nodes::BitwiseAnd < ::Arel::Nodes::InfixOperation def initialize(left, right); end end class Arel::Nodes::BitwiseNot < ::Arel::Nodes::UnaryOperation def initialize(operand); end end class Arel::Nodes::BitwiseOr < ::Arel::Nodes::InfixOperation def initialize(left, right); end end class Arel::Nodes::BitwiseShiftLeft < ::Arel::Nodes::InfixOperation def initialize(left, right); end end class Arel::Nodes::BitwiseShiftRight < ::Arel::Nodes::InfixOperation def initialize(left, right); end end class Arel::Nodes::BitwiseXor < ::Arel::Nodes::InfixOperation def initialize(left, right); end end class Arel::Nodes::Case < ::Arel::Nodes::NodeExpression def initialize(expression = T.unsafe(nil), default = T.unsafe(nil)); end def ==(other); end def case; end def case=(_arg0); end def conditions; end def conditions=(_arg0); end def default; end def default=(_arg0); end def else(expression); end def eql?(other); end def hash; end def then(expression); end def when(condition, expression = T.unsafe(nil)); end private def initialize_copy(other); end end class Arel::Nodes::Casted < ::Arel::Nodes::NodeExpression def initialize(value, attribute); end def ==(other); end def attribute; end def eql?(other); end def hash; end def nil?; end def value; end def value_before_type_cast; end def value_for_database; end end class Arel::Nodes::Comment < ::Arel::Nodes::Node def initialize(values); end def ==(other); end def eql?(other); end def hash; end def values; end private def initialize_copy(other); end end class Arel::Nodes::Concat < ::Arel::Nodes::InfixOperation def initialize(left, right); end end class Arel::Nodes::Contains < ::Arel::Nodes::InfixOperation def initialize(left, right); end end class Arel::Nodes::Count < ::Arel::Nodes::Function def initialize(expr, distinct = T.unsafe(nil), aliaz = T.unsafe(nil)); end end class Arel::Nodes::Cube < ::Arel::Nodes::Unary; end class Arel::Nodes::CurrentRow < ::Arel::Nodes::Node def ==(other); end def eql?(other); end def hash; end end class Arel::Nodes::DeleteStatement < ::Arel::Nodes::Node def initialize(relation = T.unsafe(nil), wheres = T.unsafe(nil)); end def ==(other); end def eql?(other); end def hash; end def key; end def key=(_arg0); end def left; end def left=(_arg0); end def limit; end def limit=(_arg0); end def offset; end def offset=(_arg0); end def orders; end def orders=(_arg0); end def relation; end def relation=(_arg0); end def right; end def right=(_arg0); end def wheres; end def wheres=(_arg0); end private def initialize_copy(other); end end class Arel::Nodes::Descending < ::Arel::Nodes::Ordering def ascending?; end def descending?; end def direction; end def reverse; end end class Arel::Nodes::Distinct < ::Arel::Nodes::NodeExpression def ==(other); end def eql?(other); end def hash; end end class Arel::Nodes::DistinctOn < ::Arel::Nodes::Unary; end class Arel::Nodes::Division < ::Arel::Nodes::InfixOperation def initialize(left, right); end end class Arel::Nodes::DoesNotMatch < ::Arel::Nodes::Matches; end class Arel::Nodes::Else < ::Arel::Nodes::Unary; end class Arel::Nodes::Equality < ::Arel::Nodes::Binary include ::Arel::Nodes::FetchAttribute def equality?; end def invert; end end class Arel::Nodes::Except < ::Arel::Nodes::Binary; end class Arel::Nodes::Exists < ::Arel::Nodes::Function; end class Arel::Nodes::Extract < ::Arel::Nodes::Unary def initialize(expr, field); end def ==(other); end def eql?(other); end def field; end def field=(_arg0); end def hash; end end class Arel::Nodes::False < ::Arel::Nodes::NodeExpression def ==(other); end def eql?(other); end def hash; end end module Arel::Nodes::FetchAttribute def fetch_attribute; end end class Arel::Nodes::Following < ::Arel::Nodes::Unary def initialize(expr = T.unsafe(nil)); end end class Arel::Nodes::FullOuterJoin < ::Arel::Nodes::Join; end class Arel::Nodes::Function < ::Arel::Nodes::NodeExpression include ::Arel::WindowPredications def initialize(expr, aliaz = T.unsafe(nil)); end def ==(other); end def alias; end def alias=(_arg0); end def as(aliaz); end def distinct; end def distinct=(_arg0); end def eql?(other); end def expressions; end def expressions=(_arg0); end def hash; end end class Arel::Nodes::GreaterThan < ::Arel::Nodes::Binary include ::Arel::Nodes::FetchAttribute def invert; end end class Arel::Nodes::GreaterThanOrEqual < ::Arel::Nodes::Binary include ::Arel::Nodes::FetchAttribute def invert; end end class Arel::Nodes::Group < ::Arel::Nodes::Unary; end class Arel::Nodes::Grouping < ::Arel::Nodes::Unary def fetch_attribute(&block); end end class Arel::Nodes::GroupingElement < ::Arel::Nodes::Unary; end class Arel::Nodes::GroupingSet < ::Arel::Nodes::Unary; end class Arel::Nodes::HomogeneousIn < ::Arel::Nodes::Node def initialize(values, attribute, type); end def ==(other); end def attribute; end def casted_values; end def column_name; end def eql?(other); end def equality?; end def fetch_attribute(&block); end def hash; end def invert; end def left; end def proc_for_binds; end def right; end def table_name; end def type; end def values; end protected def ivars; end end class Arel::Nodes::In < ::Arel::Nodes::Binary include ::Arel::Nodes::FetchAttribute def equality?; end def invert; end end class Arel::Nodes::InfixOperation < ::Arel::Nodes::Binary def initialize(operator, left, right); end def operator; end end class Arel::Nodes::InnerJoin < ::Arel::Nodes::Join; end class Arel::Nodes::InsertStatement < ::Arel::Nodes::Node def initialize; end def ==(other); end def columns; end def columns=(_arg0); end def eql?(other); end def hash; end def relation; end def relation=(_arg0); end def select; end def select=(_arg0); end def values; end def values=(_arg0); end private def initialize_copy(other); end end class Arel::Nodes::Intersect < ::Arel::Nodes::Binary; end class Arel::Nodes::IsDistinctFrom < ::Arel::Nodes::Binary include ::Arel::Nodes::FetchAttribute def invert; end end class Arel::Nodes::IsNotDistinctFrom < ::Arel::Nodes::Binary include ::Arel::Nodes::FetchAttribute def invert; end end class Arel::Nodes::Join < ::Arel::Nodes::Binary; end class Arel::Nodes::JoinSource < ::Arel::Nodes::Binary def initialize(single_source, joinop = T.unsafe(nil)); end def empty?; end end class Arel::Nodes::Lateral < ::Arel::Nodes::Unary; end class Arel::Nodes::LeadingJoin < ::Arel::Nodes::InnerJoin; end class Arel::Nodes::LessThan < ::Arel::Nodes::Binary include ::Arel::Nodes::FetchAttribute def invert; end end class Arel::Nodes::LessThanOrEqual < ::Arel::Nodes::Binary include ::Arel::Nodes::FetchAttribute def invert; end end class Arel::Nodes::Limit < ::Arel::Nodes::Unary; end class Arel::Nodes::Lock < ::Arel::Nodes::Unary; end class Arel::Nodes::Matches < ::Arel::Nodes::Binary def initialize(left, right, escape = T.unsafe(nil), case_sensitive = T.unsafe(nil)); end def case_sensitive; end def case_sensitive=(_arg0); end def escape; end end class Arel::Nodes::Max < ::Arel::Nodes::Function; end class Arel::Nodes::Min < ::Arel::Nodes::Function; end class Arel::Nodes::Multiplication < ::Arel::Nodes::InfixOperation def initialize(left, right); end end class Arel::Nodes::NamedFunction < ::Arel::Nodes::Function def initialize(name, expr, aliaz = T.unsafe(nil)); end def ==(other); end def eql?(other); end def hash; end def name; end def name=(_arg0); end end class Arel::Nodes::NamedWindow < ::Arel::Nodes::Window def initialize(name); end def ==(other); end def eql?(other); end def hash; end def name; end def name=(_arg0); end private def initialize_copy(other); end end class Arel::Nodes::Node include ::Arel::FactoryMethods def and(right); end def equality?; end def fetch_attribute; end def invert; end def not; end def or(right); end def to_sql(engine = T.unsafe(nil)); end end class Arel::Nodes::NodeExpression < ::Arel::Nodes::Node include ::Arel::Expressions include ::Arel::Predications include ::Arel::AliasPredication include ::Arel::OrderPredications include ::Arel::Math end class Arel::Nodes::Not < ::Arel::Nodes::Unary; end class Arel::Nodes::NotEqual < ::Arel::Nodes::Binary include ::Arel::Nodes::FetchAttribute def invert; end end class Arel::Nodes::NotIn < ::Arel::Nodes::Binary include ::Arel::Nodes::FetchAttribute def invert; end end class Arel::Nodes::NotRegexp < ::Arel::Nodes::Regexp; end class Arel::Nodes::NullsFirst < ::Arel::Nodes::Ordering def reverse; end end class Arel::Nodes::NullsLast < ::Arel::Nodes::Ordering def reverse; end end class Arel::Nodes::Offset < ::Arel::Nodes::Unary; end class Arel::Nodes::On < ::Arel::Nodes::Unary; end class Arel::Nodes::OptimizerHints < ::Arel::Nodes::Unary; end class Arel::Nodes::Or < ::Arel::Nodes::Binary def fetch_attribute(&block); end end class Arel::Nodes::Ordering < ::Arel::Nodes::Unary def nulls_first; end def nulls_last; end end class Arel::Nodes::OuterJoin < ::Arel::Nodes::Join; end class Arel::Nodes::Over < ::Arel::Nodes::Binary def initialize(left, right = T.unsafe(nil)); end def operator; end end class Arel::Nodes::Overlaps < ::Arel::Nodes::InfixOperation def initialize(left, right); end end class Arel::Nodes::Preceding < ::Arel::Nodes::Unary def initialize(expr = T.unsafe(nil)); end end class Arel::Nodes::Quoted < ::Arel::Nodes::Unary def infinite?; end def nil?; end def value_before_type_cast; end def value_for_database; end end class Arel::Nodes::Range < ::Arel::Nodes::Unary def initialize(expr = T.unsafe(nil)); end end class Arel::Nodes::Regexp < ::Arel::Nodes::Binary def initialize(left, right, case_sensitive = T.unsafe(nil)); end def case_sensitive; end def case_sensitive=(_arg0); end end class Arel::Nodes::RightOuterJoin < ::Arel::Nodes::Join; end class Arel::Nodes::RollUp < ::Arel::Nodes::Unary; end class Arel::Nodes::Rows < ::Arel::Nodes::Unary def initialize(expr = T.unsafe(nil)); end end class Arel::Nodes::SelectCore < ::Arel::Nodes::Node def initialize; end def ==(other); end def comment; end def comment=(_arg0); end def eql?(other); end def from; end def from=(value); end def froms; end def froms=(value); end def groups; end def groups=(_arg0); end def hash; end def havings; end def havings=(_arg0); end def optimizer_hints; end def optimizer_hints=(_arg0); end def projections; end def projections=(_arg0); end def set_quantifier; end def set_quantifier=(_arg0); end def source; end def source=(_arg0); end def wheres; end def wheres=(_arg0); end def windows; end def windows=(_arg0); end private def initialize_copy(other); end end class Arel::Nodes::SelectStatement < ::Arel::Nodes::NodeExpression def initialize(cores = T.unsafe(nil)); end def ==(other); end def cores; end def eql?(other); end def hash; end def limit; end def limit=(_arg0); end def lock; end def lock=(_arg0); end def offset; end def offset=(_arg0); end def orders; end def orders=(_arg0); end def with; end def with=(_arg0); end private def initialize_copy(other); end end class Arel::Nodes::SqlLiteral < ::String include ::Arel::Expressions include ::Arel::Predications include ::Arel::AliasPredication include ::Arel::OrderPredications def encode_with(coder); end def fetch_attribute; end end class Arel::Nodes::StringJoin < ::Arel::Nodes::Join def initialize(left, right = T.unsafe(nil)); end end class Arel::Nodes::Subtraction < ::Arel::Nodes::InfixOperation def initialize(left, right); end end class Arel::Nodes::Sum < ::Arel::Nodes::Function; end class Arel::Nodes::TableAlias < ::Arel::Nodes::Binary def [](name); end def able_to_type_cast?; end def name; end def relation; end def table_alias; end def table_name; end def type_cast_for_database(attr_name, value); end def type_for_attribute(name); end end class Arel::Nodes::True < ::Arel::Nodes::NodeExpression def ==(other); end def eql?(other); end def hash; end end class Arel::Nodes::Unary < ::Arel::Nodes::NodeExpression def initialize(expr); end def ==(other); end def eql?(other); end def expr; end def expr=(_arg0); end def hash; end def value; end end class Arel::Nodes::UnaryOperation < ::Arel::Nodes::Unary def initialize(operator, operand); end def operator; end end class Arel::Nodes::Union < ::Arel::Nodes::Binary; end class Arel::Nodes::UnionAll < ::Arel::Nodes::Binary; end class Arel::Nodes::UnqualifiedColumn < ::Arel::Nodes::Unary def attribute; end def attribute=(_arg0); end def column; end def name; end def relation; end end class Arel::Nodes::UpdateStatement < ::Arel::Nodes::Node def initialize; end def ==(other); end def eql?(other); end def hash; end def key; end def key=(_arg0); end def limit; end def limit=(_arg0); end def offset; end def offset=(_arg0); end def orders; end def orders=(_arg0); end def relation; end def relation=(_arg0); end def values; end def values=(_arg0); end def wheres; end def wheres=(_arg0); end private def initialize_copy(other); end end class Arel::Nodes::ValuesList < ::Arel::Nodes::Unary def rows; end end class Arel::Nodes::When < ::Arel::Nodes::Binary; end class Arel::Nodes::Window < ::Arel::Nodes::Node def initialize; end def ==(other); end def eql?(other); end def frame(expr); end def framing; end def framing=(_arg0); end def hash; end def order(*expr); end def orders; end def orders=(_arg0); end def partition(*expr); end def partitions; end def partitions=(_arg0); end def range(expr = T.unsafe(nil)); end def rows(expr = T.unsafe(nil)); end private def initialize_copy(other); end end class Arel::Nodes::With < ::Arel::Nodes::Unary def children; end end class Arel::Nodes::WithRecursive < ::Arel::Nodes::With; end module Arel::OrderPredications def asc; end def desc; end end module Arel::Predications def between(other); end def concat(other); end def contains(other); end def does_not_match(other, escape = T.unsafe(nil), case_sensitive = T.unsafe(nil)); end def does_not_match_all(others, escape = T.unsafe(nil)); end def does_not_match_any(others, escape = T.unsafe(nil)); end def does_not_match_regexp(other, case_sensitive = T.unsafe(nil)); end def eq(other); end def eq_all(others); end def eq_any(others); end def gt(right); end def gt_all(others); end def gt_any(others); end def gteq(right); end def gteq_all(others); end def gteq_any(others); end def in(other); end def in_all(others); end def in_any(others); end def is_distinct_from(other); end def is_not_distinct_from(other); end def lt(right); end def lt_all(others); end def lt_any(others); end def lteq(right); end def lteq_all(others); end def lteq_any(others); end def matches(other, escape = T.unsafe(nil), case_sensitive = T.unsafe(nil)); end def matches_all(others, escape = T.unsafe(nil), case_sensitive = T.unsafe(nil)); end def matches_any(others, escape = T.unsafe(nil), case_sensitive = T.unsafe(nil)); end def matches_regexp(other, case_sensitive = T.unsafe(nil)); end def not_between(other); end def not_eq(other); end def not_eq_all(others); end def not_eq_any(others); end def not_in(other); end def not_in_all(others); end def not_in_any(others); end def overlaps(other); end def quoted_array(others); end def when(right); end private def grouping_all(method_id, others, *extras); end def grouping_any(method_id, others, *extras); end def infinity?(value); end def open_ended?(value); end def quoted_node(other); end def unboundable?(value); end end class Arel::SelectManager < ::Arel::TreeManager include ::Arel::Crud def initialize(table = T.unsafe(nil)); end def as(other); end def comment(*values); end def constraints; end def distinct(value = T.unsafe(nil)); end def distinct_on(value); end def except(other); end def exists; end def from(table); end def froms; end def group(*columns); end def having(expr); end def intersect(other); end def join(relation, klass = T.unsafe(nil)); end def join_sources; end def lateral(table_name = T.unsafe(nil)); end def limit; end def limit=(limit); end def lock(locking = T.unsafe(nil)); end def locked; end def minus(other); end def offset; end def offset=(amount); end def on(*exprs); end def optimizer_hints(*hints); end def order(*expr); end def orders; end def outer_join(relation); end def project(*projections); end def projections; end def projections=(projections); end def skip(amount); end def source; end def take(limit); end def taken; end def union(operation, other = T.unsafe(nil)); end def where_sql(engine = T.unsafe(nil)); end def window(name); end def with(*subqueries); end private def collapse(exprs); end def initialize_copy(other); end end Arel::SelectManager::STRING_OR_SYMBOL_CLASS = T.let(T.unsafe(nil), Array) class Arel::Table include ::Arel::Crud include ::Arel::FactoryMethods include ::Arel::AliasPredication def initialize(name, as: T.unsafe(nil), klass: T.unsafe(nil), type_caster: T.unsafe(nil)); end def ==(other); end def [](name, table = T.unsafe(nil)); end def able_to_type_cast?; end def alias(name = T.unsafe(nil)); end def eql?(other); end def from; end def group(*columns); end def hash; end def having(expr); end def join(relation, klass = T.unsafe(nil)); end def name; end def name=(_arg0); end def order(*expr); end def outer_join(relation); end def project(*things); end def skip(amount); end def table_alias; end def table_alias=(_arg0); end def table_name; end def take(amount); end def type_cast_for_database(attr_name, value); end def type_for_attribute(name); end def where(condition); end private def type_caster; end class << self def engine; end def engine=(_arg0); end end end class Arel::TreeManager include ::Arel::FactoryMethods def initialize; end def ast; end def to_dot; end def to_sql(engine = T.unsafe(nil)); end def where(expr); end private def initialize_copy(other); end end module Arel::TreeManager::StatementMethods def key; end def key=(key); end def offset(offset); end def order(*expr); end def take(limit); end def where(expr); end def wheres=(exprs); end end class Arel::UpdateManager < ::Arel::TreeManager include ::Arel::TreeManager::StatementMethods def initialize; end def set(values); end def table(table); end end Arel::VERSION = T.let(T.unsafe(nil), String) module Arel::Visitors; end class Arel::Visitors::Dot < ::Arel::Visitors::Visitor def initialize; end def accept(object, collector); end private def binary(o); end def edge(name); end def extract(o); end def function(o); end def named_window(o); end def nary(o); end def quote(string); end def to_dot; end def unary(o); end def visit(o); end def visit_ActiveModel_Attribute(o); end def visit_Arel_Attribute(o); end def visit_Arel_Attributes_Attribute(o); end def visit_Arel_Attributes_Boolean(o); end def visit_Arel_Attributes_Float(o); end def visit_Arel_Attributes_Integer(o); end def visit_Arel_Attributes_String(o); end def visit_Arel_Attributes_Time(o); end def visit_Arel_Nodes_And(o); end def visit_Arel_Nodes_As(o); end def visit_Arel_Nodes_Assignment(o); end def visit_Arel_Nodes_Avg(o); end def visit_Arel_Nodes_Between(o); end def visit_Arel_Nodes_BindParam(o); end def visit_Arel_Nodes_Casted(o); end def visit_Arel_Nodes_Comment(o); end def visit_Arel_Nodes_Concat(o); end def visit_Arel_Nodes_Count(o); end def visit_Arel_Nodes_Cube(o); end def visit_Arel_Nodes_DeleteStatement(o); end def visit_Arel_Nodes_DoesNotMatch(o); end def visit_Arel_Nodes_Equality(o); end def visit_Arel_Nodes_Exists(o); end def visit_Arel_Nodes_Extract(o); end def visit_Arel_Nodes_Following(o); end def visit_Arel_Nodes_FullOuterJoin(o); end def visit_Arel_Nodes_GreaterThan(o); end def visit_Arel_Nodes_GreaterThanOrEqual(o); end def visit_Arel_Nodes_Group(o); end def visit_Arel_Nodes_Grouping(o); end def visit_Arel_Nodes_GroupingElement(o); end def visit_Arel_Nodes_GroupingSet(o); end def visit_Arel_Nodes_Having(o); end def visit_Arel_Nodes_HomogeneousIn(o); end def visit_Arel_Nodes_In(o); end def visit_Arel_Nodes_InnerJoin(o); end def visit_Arel_Nodes_InsertStatement(o); end def visit_Arel_Nodes_IsDistinctFrom(o); end def visit_Arel_Nodes_IsNotDistinctFrom(o); end def visit_Arel_Nodes_JoinSource(o); end def visit_Arel_Nodes_LessThan(o); end def visit_Arel_Nodes_LessThanOrEqual(o); end def visit_Arel_Nodes_Limit(o); end def visit_Arel_Nodes_Matches(o); end def visit_Arel_Nodes_Max(o); end def visit_Arel_Nodes_Min(o); end def visit_Arel_Nodes_NamedFunction(o); end def visit_Arel_Nodes_NamedWindow(o); end def visit_Arel_Nodes_Not(o); end def visit_Arel_Nodes_NotEqual(o); end def visit_Arel_Nodes_NotIn(o); end def visit_Arel_Nodes_Offset(o); end def visit_Arel_Nodes_On(o); end def visit_Arel_Nodes_OptimizerHints(o); end def visit_Arel_Nodes_Or(o); end def visit_Arel_Nodes_Ordering(o); end def visit_Arel_Nodes_OuterJoin(o); end def visit_Arel_Nodes_Over(o); end def visit_Arel_Nodes_Preceding(o); end def visit_Arel_Nodes_Range(o); end def visit_Arel_Nodes_RightOuterJoin(o); end def visit_Arel_Nodes_RollUp(o); end def visit_Arel_Nodes_Rows(o); end def visit_Arel_Nodes_SelectCore(o); end def visit_Arel_Nodes_SelectStatement(o); end def visit_Arel_Nodes_SqlLiteral(o); end def visit_Arel_Nodes_StringJoin(o); end def visit_Arel_Nodes_Sum(o); end def visit_Arel_Nodes_TableAlias(o); end def visit_Arel_Nodes_UnqualifiedColumn(o); end def visit_Arel_Nodes_UpdateStatement(o); end def visit_Arel_Nodes_ValuesList(o); end def visit_Arel_Nodes_Window(o); end def visit_Arel_Table(o); end def visit_Array(o); end def visit_BigDecimal(o); end def visit_Date(o); end def visit_DateTime(o); end def visit_FalseClass(o); end def visit_Float(o); end def visit_Hash(o); end def visit_Integer(o); end def visit_NilClass(o); end def visit_Set(o); end def visit_String(o); end def visit_Symbol(o); end def visit_Time(o); end def visit_TrueClass(o); end def visit_edge(o, method); end def window(o); end def with_node(node); end end class Arel::Visitors::Dot::Edge < ::Struct; end class Arel::Visitors::Dot::Node def initialize(name, id, fields = T.unsafe(nil)); end def fields; end def fields=(_arg0); end def id; end def id=(_arg0); end def name; end def name=(_arg0); end end class Arel::Visitors::MySQL < ::Arel::Visitors::ToSql private def build_subselect(key, o); end def prepare_delete_statement(o); end def prepare_update_statement(o); end def visit_Arel_Nodes_Bin(o, collector); end def visit_Arel_Nodes_Concat(o, collector); end def visit_Arel_Nodes_IsDistinctFrom(o, collector); end def visit_Arel_Nodes_IsNotDistinctFrom(o, collector); end def visit_Arel_Nodes_NotRegexp(o, collector); end def visit_Arel_Nodes_Regexp(o, collector); end def visit_Arel_Nodes_SelectCore(o, collector); end def visit_Arel_Nodes_SelectStatement(o, collector); end def visit_Arel_Nodes_UnqualifiedColumn(o, collector); end end class Arel::Visitors::PostgreSQL < ::Arel::Visitors::ToSql private def bind_block; end def grouping_array_or_grouping_element(o, collector); end def grouping_parentheses(o, collector); end def visit_Arel_Nodes_Cube(o, collector); end def visit_Arel_Nodes_DistinctOn(o, collector); end def visit_Arel_Nodes_DoesNotMatch(o, collector); end def visit_Arel_Nodes_GroupingElement(o, collector); end def visit_Arel_Nodes_GroupingSet(o, collector); end def visit_Arel_Nodes_IsDistinctFrom(o, collector); end def visit_Arel_Nodes_IsNotDistinctFrom(o, collector); end def visit_Arel_Nodes_Lateral(o, collector); end def visit_Arel_Nodes_Matches(o, collector); end def visit_Arel_Nodes_NotRegexp(o, collector); end def visit_Arel_Nodes_NullsFirst(o, collector); end def visit_Arel_Nodes_NullsLast(o, collector); end def visit_Arel_Nodes_Regexp(o, collector); end def visit_Arel_Nodes_RollUp(o, collector); end end Arel::Visitors::PostgreSQL::BIND_BLOCK = T.let(T.unsafe(nil), Proc) class Arel::Visitors::SQLite < ::Arel::Visitors::ToSql private def visit_Arel_Nodes_False(o, collector); end def visit_Arel_Nodes_IsDistinctFrom(o, collector); end def visit_Arel_Nodes_IsNotDistinctFrom(o, collector); end def visit_Arel_Nodes_Lock(o, collector); end def visit_Arel_Nodes_SelectStatement(o, collector); end def visit_Arel_Nodes_True(o, collector); end end class Arel::Visitors::ToSql < ::Arel::Visitors::Visitor def initialize(connection); end def compile(node, collector = T.unsafe(nil)); end private def aggregate(name, o, collector); end def bind_block; end def build_subselect(key, o); end def collect_ctes(children, collector); end def collect_nodes_for(nodes, collector, spacer, connector = T.unsafe(nil)); end def collect_optimizer_hints(o, collector); end def has_join_sources?(o); end def has_limit_or_offset_or_orders?(o); end def infix_value(o, collector, value); end def infix_value_with_paren(o, collector, value, suppress_parens = T.unsafe(nil)); end def inject_join(list, collector, join_str); end def is_distinct_from(o, collector); end def maybe_visit(thing, collector); end def prepare_delete_statement(o); end def prepare_update_statement(o); end def quote(value); end def quote_column_name(name); end def quote_table_name(name); end def sanitize_as_sql_comment(value); end def unboundable?(value); end def unsupported(o, collector); end def visit_ActiveSupport_Multibyte_Chars(o, collector); end def visit_ActiveSupport_StringInquirer(o, collector); end def visit_Arel_Attributes_Attribute(o, collector); end def visit_Arel_Nodes_And(o, collector); end def visit_Arel_Nodes_As(o, collector); end def visit_Arel_Nodes_Ascending(o, collector); end def visit_Arel_Nodes_Assignment(o, collector); end def visit_Arel_Nodes_Avg(o, collector); end def visit_Arel_Nodes_Between(o, collector); end def visit_Arel_Nodes_Bin(o, collector); end def visit_Arel_Nodes_BindParam(o, collector); end def visit_Arel_Nodes_Case(o, collector); end def visit_Arel_Nodes_Casted(o, collector); end def visit_Arel_Nodes_Comment(o, collector); end def visit_Arel_Nodes_Count(o, collector); end def visit_Arel_Nodes_CurrentRow(o, collector); end def visit_Arel_Nodes_DeleteStatement(o, collector); end def visit_Arel_Nodes_Descending(o, collector); end def visit_Arel_Nodes_Distinct(o, collector); end def visit_Arel_Nodes_DistinctOn(o, collector); end def visit_Arel_Nodes_DoesNotMatch(o, collector); end def visit_Arel_Nodes_Else(o, collector); end def visit_Arel_Nodes_Equality(o, collector); end def visit_Arel_Nodes_Except(o, collector); end def visit_Arel_Nodes_Exists(o, collector); end def visit_Arel_Nodes_Extract(o, collector); end def visit_Arel_Nodes_False(o, collector); end def visit_Arel_Nodes_Following(o, collector); end def visit_Arel_Nodes_FullOuterJoin(o, collector); end def visit_Arel_Nodes_GreaterThan(o, collector); end def visit_Arel_Nodes_GreaterThanOrEqual(o, collector); end def visit_Arel_Nodes_Group(o, collector); end def visit_Arel_Nodes_Grouping(o, collector); end def visit_Arel_Nodes_HomogeneousIn(o, collector); end def visit_Arel_Nodes_In(o, collector); end def visit_Arel_Nodes_InfixOperation(o, collector); end def visit_Arel_Nodes_InnerJoin(o, collector); end def visit_Arel_Nodes_InsertStatement(o, collector); end def visit_Arel_Nodes_Intersect(o, collector); end def visit_Arel_Nodes_IsDistinctFrom(o, collector); end def visit_Arel_Nodes_IsNotDistinctFrom(o, collector); end def visit_Arel_Nodes_JoinSource(o, collector); end def visit_Arel_Nodes_LessThan(o, collector); end def visit_Arel_Nodes_LessThanOrEqual(o, collector); end def visit_Arel_Nodes_Limit(o, collector); end def visit_Arel_Nodes_Lock(o, collector); end def visit_Arel_Nodes_Matches(o, collector); end def visit_Arel_Nodes_Max(o, collector); end def visit_Arel_Nodes_Min(o, collector); end def visit_Arel_Nodes_NamedFunction(o, collector); end def visit_Arel_Nodes_NamedWindow(o, collector); end def visit_Arel_Nodes_Not(o, collector); end def visit_Arel_Nodes_NotEqual(o, collector); end def visit_Arel_Nodes_NotIn(o, collector); end def visit_Arel_Nodes_NotRegexp(o, collector); end def visit_Arel_Nodes_Offset(o, collector); end def visit_Arel_Nodes_On(o, collector); end def visit_Arel_Nodes_OptimizerHints(o, collector); end def visit_Arel_Nodes_Or(o, collector); end def visit_Arel_Nodes_OuterJoin(o, collector); end def visit_Arel_Nodes_Over(o, collector); end def visit_Arel_Nodes_Preceding(o, collector); end def visit_Arel_Nodes_Quoted(o, collector); end def visit_Arel_Nodes_Range(o, collector); end def visit_Arel_Nodes_Regexp(o, collector); end def visit_Arel_Nodes_RightOuterJoin(o, collector); end def visit_Arel_Nodes_Rows(o, collector); end def visit_Arel_Nodes_SelectCore(o, collector); end def visit_Arel_Nodes_SelectOptions(o, collector); end def visit_Arel_Nodes_SelectStatement(o, collector); end def visit_Arel_Nodes_SqlLiteral(o, collector); end def visit_Arel_Nodes_StringJoin(o, collector); end def visit_Arel_Nodes_Sum(o, collector); end def visit_Arel_Nodes_TableAlias(o, collector); end def visit_Arel_Nodes_True(o, collector); end def visit_Arel_Nodes_UnaryOperation(o, collector); end def visit_Arel_Nodes_Union(o, collector); end def visit_Arel_Nodes_UnionAll(o, collector); end def visit_Arel_Nodes_UnqualifiedColumn(o, collector); end def visit_Arel_Nodes_UpdateStatement(o, collector); end def visit_Arel_Nodes_ValuesList(o, collector); end def visit_Arel_Nodes_When(o, collector); end def visit_Arel_Nodes_Window(o, collector); end def visit_Arel_Nodes_With(o, collector); end def visit_Arel_Nodes_WithRecursive(o, collector); end def visit_Arel_SelectManager(o, collector); end def visit_Arel_Table(o, collector); end def visit_Array(o, collector); end def visit_BigDecimal(o, collector); end def visit_Class(o, collector); end def visit_Date(o, collector); end def visit_DateTime(o, collector); end def visit_FalseClass(o, collector); end def visit_Float(o, collector); end def visit_Hash(o, collector); end def visit_Integer(o, collector); end def visit_NilClass(o, collector); end def visit_Set(o, collector); end def visit_String(o, collector); end def visit_Symbol(o, collector); end def visit_Time(o, collector); end def visit_TrueClass(o, collector); end end Arel::Visitors::ToSql::BIND_BLOCK = T.let(T.unsafe(nil), Proc) class Arel::Visitors::UnsupportedVisitError < ::StandardError def initialize(object); end end class Arel::Visitors::Visitor def initialize; end def accept(object, collector = T.unsafe(nil)); end private def dispatch; end def get_dispatch_cache; end def visit(object, collector = T.unsafe(nil)); end class << self def dispatch_cache; end end end module Arel::WindowPredications def over(expr = T.unsafe(nil)); end end