# frozen_string_literal: true module ActiveRecord class DatabaseConfigurations # ActiveRecord::Base.configurations will return either a HashConfig or # UrlConfig respectively. It will never return a DatabaseConfig object, # as this is the parent class for the types of database configuration objects. class DatabaseConfig # :nodoc: attr_reader :env_name, :spec_name def initialize(env_name, spec_name) @env_name = env_name @spec_name = spec_name end def replica? raise NotImplementedError end def migrations_paths raise NotImplementedError end def url_config? false end def to_legacy_hash { env_name => config } end def for_current_env? env_name == ActiveRecord::ConnectionHandling::DEFAULT_ENV.call end end end end