Class: ShadowDbCredentials

Inherits:
Object
  • Object
show all
Defined in:
lib/shadow_db_credentials/version.rb,
lib/shadow_db_credentials/shadow_db_credentials.rb

Constant Summary collapse

VERSION =
"1.1.4"

Instance Method Summary collapse

Constructor Details

#initialize(credentials_dir) ⇒ ShadowDbCredentials

Returns a new instance of ShadowDbCredentials.



6
7
8
# File 'lib/shadow_db_credentials/shadow_db_credentials.rb', line 6

def initialize credentials_dir
  @credentials_dir = credentials_dir
end

Instance Method Details

#process_configuration(configurations, rails_env) ⇒ Object



30
31
32
33
34
35
36
37
38
# File 'lib/shadow_db_credentials/shadow_db_credentials.rb', line 30

def process_configuration configurations, rails_env
  new_configurations = configurations.clone

  config = configurations[rails_env]

  new_configurations[rails_env] = process_credentials(config)

  new_configurations
end

#process_configurations(configurations) ⇒ Object



20
21
22
23
24
25
26
27
28
# File 'lib/shadow_db_credentials/shadow_db_credentials.rb', line 20

def process_configurations configurations
  new_configurations = {}

  configurations.each do |name, config|
    new_configurations[name] = process_credentials(config)
  end

  new_configurations.with_indifferent_access
end

#retrieve_configuration(rails_env, source = 'config/database.yml') ⇒ Object



10
11
12
13
14
15
16
17
18
# File 'lib/shadow_db_credentials/shadow_db_credentials.rb', line 10

def retrieve_configuration rails_env, source='config/database.yml'
  file = source.kind_of?(String) ? File.open(source) : source

  template = ERB.new file.read

  config = YAML.load(template.result(binding)).with_indifferent_access

  process_credentials(config[rails_env])
end