diff options
author | Eileen M. Uchitelle <eileencodes@users.noreply.github.com> | 2018-08-30 13:07:02 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-30 13:07:02 -0400 |
commit | 8f2caec401c8e97d9eb1ea84d8263911c50e1ed6 (patch) | |
tree | 5845f95505c0cc35c62e55434b0b45e1104a2d60 /activerecord/lib/active_record/database_configurations/hash_config.rb | |
parent | 616afba436b16210c03c323f698e2c3603f16a9f (diff) | |
parent | fdf3f0b9306ba8145e6e3acb84a50e5d23dfe48c (diff) | |
download | rails-8f2caec401c8e97d9eb1ea84d8263911c50e1ed6.tar.gz rails-8f2caec401c8e97d9eb1ea84d8263911c50e1ed6.tar.bz2 rails-8f2caec401c8e97d9eb1ea84d8263911c50e1ed6.zip |
Merge pull request #33637 from eileencodes/ar-connection-management-refactoring
Refactor Active Record configurations
Diffstat (limited to 'activerecord/lib/active_record/database_configurations/hash_config.rb')
-rw-r--r-- | activerecord/lib/active_record/database_configurations/hash_config.rb | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/database_configurations/hash_config.rb b/activerecord/lib/active_record/database_configurations/hash_config.rb new file mode 100644 index 0000000000..2ee218c730 --- /dev/null +++ b/activerecord/lib/active_record/database_configurations/hash_config.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +module ActiveRecord + class DatabaseConfigurations + # A HashConfig object is created for each database configuration entry that + # is created from a hash. + # + # A hash config: + # + # { "development" => { "database" => "db_name" } } + # + # Becomes: + # + # #<ActiveRecord::DatabaseConfigurations::HashConfig:0x00007fd1acbded10 + # @env_name="development", @spec_name="primary", @config={"db_name"}> + # + # Options are: + # + # <tt>:env_name</tt> - The Rails environment, ie "development" + # <tt>:spec_name</tt> - 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". + # <tt>:config</tt> - The config hash. This is the hash that contains the + # database adapter, name, and other important information for database + # connections. + class HashConfig < DatabaseConfig + attr_reader :config + + def initialize(env_name, spec_name, config) + super(env_name, spec_name) + @config = config + end + end + end +end |