Module: Multibase

Extended by:
Enumerable
Defined in:
lib/multibase.rb,
lib/multibase/base.rb,
lib/multibase/exec.rb,
lib/multibase/config.rb,
lib/multibase/railtie.rb,
lib/multibase/version.rb,
lib/rails/multibase/generators/migration_generator.rb

Defined Under Namespace

Classes: Base, Config, MigrationGenerator, Railtie

Constant Summary collapse

VERSION =
'0.2.1'.freeze

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.default_keyObject (readonly)

Returns the value of attribute default_key.



14
15
16
# File 'lib/multibase.rb', line 14

def default_key
  @default_key
end

.settingsObject (readonly)

Returns the value of attribute settings.



13
14
15
# File 'lib/multibase.rb', line 13

def settings
  @settings
end

Class Method Details

.apply(key) ⇒ Object



34
35
36
# File 'lib/multibase.rb', line 34

def apply(key)
  @config[key].apply
end

.apply_defaultObject



30
31
32
# File 'lib/multibase.rb', line 30

def apply_default
  apply default_key
end

.exec(key) ⇒ Object



4
5
6
7
8
9
10
# File 'lib/multibase/exec.rb', line 4

def self.exec(key)
  config = @config[key] if @config
  config ||= Multibase::Config.new key, Multibase::Railtie.database_configuration[key]
  config.apply

  yield
end

.resetObject



16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/multibase.rb', line 16

def reset
  Rails.application.config.multibase.tap do |config|
    @default_key = config.default_key
    @settings    = HashWithIndifferentAccess.new(config.settings)
  end

  @config = settings.each_with_object(
      HashWithIndifferentAccess.new
  ) do |(key, val), hash|
    hash[key] = Config.new(key, val)
  end
  self
end