Class: ActiveRecord::DatabaseConfigurations::UrlConfig
- Inherits:
-
DatabaseConfig
- Object
- DatabaseConfig
- ActiveRecord::DatabaseConfigurations::UrlConfig
- Defined in:
- lib/active_record/database_configurations/url_config.rb
Overview
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", @spec_name="primary",
@config={"adapter"=>"postgresql", "database"=>"foo", "host"=>"localhost"},
@url="postgres://localhost/foo">
Options
-
:env_name
- The Rails environment, ie “development”. -
:spec_name
- The specification 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.
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
Returns the value of attribute config.
-
#url ⇒ Object
readonly
Returns the value of attribute url.
Attributes inherited from DatabaseConfig
Instance Method Summary collapse
-
#initialize(env_name, spec_name, url, config = {}) ⇒ UrlConfig
constructor
A new instance of UrlConfig.
-
#migrations_paths ⇒ Object
The migrations paths for a database configuration.
-
#replica? ⇒ Boolean
Determines whether a database configuration is for a replica / readonly connection.
-
#url_config? ⇒ Boolean
:nodoc:.
Methods inherited from DatabaseConfig
#for_current_env?, #to_legacy_hash
Constructor Details
#initialize(env_name, spec_name, url, config = {}) ⇒ UrlConfig
Returns a new instance of UrlConfig.
34 35 36 37 38 |
# File 'lib/active_record/database_configurations/url_config.rb', line 34 def initialize(env_name, spec_name, url, config = {}) super(env_name, spec_name) @config = build_config(config, url) @url = url end |
Instance Attribute Details
#config ⇒ Object (readonly)
Returns the value of attribute config.
32 33 34 |
# File 'lib/active_record/database_configurations/url_config.rb', line 32 def config @config end |
#url ⇒ Object (readonly)
Returns the value of attribute url.
32 33 34 |
# File 'lib/active_record/database_configurations/url_config.rb', line 32 def url @url end |
Instance Method Details
#migrations_paths ⇒ Object
The migrations paths for a database configuration. If the migrations_paths
key is present in the config, migrations_paths
will return its value.
54 55 56 |
# File 'lib/active_record/database_configurations/url_config.rb', line 54 def migrations_paths config["migrations_paths"] end |
#replica? ⇒ Boolean
Determines whether a database configuration is for a replica / readonly connection. If the replica
key is present in the config, replica?
will return true
.
47 48 49 |
# File 'lib/active_record/database_configurations/url_config.rb', line 47 def replica? config["replica"] end |
#url_config? ⇒ Boolean
:nodoc:
40 41 42 |
# File 'lib/active_record/database_configurations/url_config.rb', line 40 def url_config? # :nodoc: true end |