Class: ActiveRecord::DatabaseConfigurations::UrlConfig

Inherits:
HashConfig show all
Defined in:
lib/active_record/database_configurations/url_config.rb

Overview

Active Record Database Url Config

A UrlConfig object is created for each database configuration entry that is created from a URL. This can either be a URL string or a hash with a URL in place of the config hash.

A URL config:

postgres://localhost/foo

Becomes:

#<ActiveRecord::DatabaseConfigurations::UrlConfig:0x00007fdc3238f340
  @env_name="default_env", @name="primary",
  @config={adapter: "postgresql", database: "foo", host: "localhost"},
  @url="postgres://localhost/foo">

See ActiveRecord::DatabaseConfigurations for more info.

Instance Attribute Summary collapse

Attributes inherited from HashConfig

#configuration_hash

Attributes inherited from DatabaseConfig

#env_name, #name

Instance Method Summary collapse

Methods inherited from HashConfig

#_database=, #adapter, #checkout_timeout, #database, #database_tasks?, #default_schema_cache_path, #host, #idle_timeout, #lazy_schema_cache_path, #max_queue, #max_threads, #migrations_paths, #min_threads, #pool, #primary?, #query_cache, #reaping_frequency, #replica?, #schema_cache_path, #schema_dump, #socket, #use_metadata_table?

Methods inherited from DatabaseConfig

#_database=, #adapter, #adapter_class, #checkout_timeout, #database, #for_current_env?, #host, #idle_timeout, #inspect, #max_queue, #max_threads, #migrations_paths, #min_threads, #new_connection, #pool, #query_cache, #reaping_frequency, #replica?, #schema_cache_path, #use_metadata_table?, #validate!

Constructor Details

#initialize(env_name, name, url, configuration_hash = {}) ⇒ UrlConfig

Initialize a new UrlConfig object

Options

  • :env_name - The Rails environment, i.e. “development”.

  • :name - The db config name. In a standard two-tier database configuration this will default to “primary”. In a multiple database three-tier database configuration this corresponds to the name used in the second tier, for example “primary_readonly”.

  • :url - The database URL.

  • :config - The config hash. This is the hash that contains the database adapter, name, and other important information for database connections.



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/active_record/database_configurations/url_config.rb', line 40

def initialize(env_name, name, url, configuration_hash = {})
  super(env_name, name, configuration_hash)

  @url = url
  @configuration_hash = @configuration_hash.merge(build_url_hash)

  if @configuration_hash[:schema_dump] == "false"
    @configuration_hash[:schema_dump] = false
  end

  if @configuration_hash[:query_cache] == "false"
    @configuration_hash[:query_cache] = false
  end

  to_boolean!(@configuration_hash, :replica)
  to_boolean!(@configuration_hash, :database_tasks)

  @configuration_hash.freeze
end

Instance Attribute Details

#urlObject (readonly)

Returns the value of attribute url.



25
26
27
# File 'lib/active_record/database_configurations/url_config.rb', line 25

def url
  @url
end