Class: RailsMultisite::ConnectionManagement::ConnectionSpecification

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_multisite/connection_management/connection_specification.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(spec) ⇒ ConnectionSpecification



23
24
25
# File 'lib/rails_multisite/connection_management/connection_specification.rb', line 23

def initialize(spec)
  @spec = spec
end

Instance Attribute Details

#specObject (readonly)

Returns the value of attribute spec.



21
22
23
# File 'lib/rails_multisite/connection_management/connection_specification.rb', line 21

def spec
  @spec
end

Class Method Details

.currentObject



7
8
9
# File 'lib/rails_multisite/connection_management/connection_specification.rb', line 7

def current
  new(ActiveRecord::Base.connection_pool.db_config)
end

.db_spec_cache(configs) ⇒ Object



11
12
13
14
# File 'lib/rails_multisite/connection_management/connection_specification.rb', line 11

def db_spec_cache(configs)
  resolve_configs = ActiveRecord::DatabaseConfigurations.new(configs)
  configs.map { |k, _| [k, new(resolve_configs.resolve(k.to_sym))] }.to_h
end

.defaultObject



16
17
18
# File 'lib/rails_multisite/connection_management/connection_specification.rb', line 16

def default
  new(ActiveRecord::Base.configurations.resolve(Rails.env.to_sym))
end

Instance Method Details

#nameObject



27
28
29
# File 'lib/rails_multisite/connection_management/connection_specification.rb', line 27

def name
  spec.env_name
end

#to_hashObject Also known as: config



31
32
33
# File 'lib/rails_multisite/connection_management/connection_specification.rb', line 31

def to_hash
  spec.configuration_hash
end