class Rails::DBConsole
Public Class Methods
# File railties/lib/rails/commands/dbconsole/dbconsole_command.rb, line 12 def initialize(options = {}) @options = options @options[:environment] ||= Rails::Command.environment end
# File railties/lib/rails/commands/dbconsole/dbconsole_command.rb, line 8 def self.start(*args) new(*args).start end
Public Instance Methods
# File railties/lib/rails/commands/dbconsole/dbconsole_command.rb, line 44 def database @options[:database] end
# File railties/lib/rails/commands/dbconsole/dbconsole_command.rb, line 23 def db_config @db_config ||= begin # If the user provided a database, use that. Otherwise find # the first config in the database.yml config = if database @db_config = configurations.configs_for(env_name: environment, name: database, include_hidden: true) else @db_config = configurations.find_db_config(environment) end unless config missing_db = database ? "'#{database}' database is not" : "No databases are" raise ActiveRecord::AdapterNotSpecified, "#{missing_db} configured for '#{environment}'. Available configuration: #{configurations.inspect}" end config.validate! config end end
# File railties/lib/rails/commands/dbconsole/dbconsole_command.rb, line 48 def environment @options[:environment] end
# File railties/lib/rails/commands/dbconsole/dbconsole_command.rb, line 17 def start adapter_class.dbconsole(db_config, @options) rescue NotImplementedError, ActiveRecord::AdapterNotFound, LoadError => error abort error.message end
Private Instance Methods
# File railties/lib/rails/commands/dbconsole/dbconsole_command.rb, line 59 def configurations # :doc: require APP_PATH ActiveRecord::Base.configurations = Rails.application.config.database_configuration ActiveRecord::Base.configurations end