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.2"

Instance Method Summary collapse

Constructor Details

#initialize(credentials_dir) ⇒ ShadowDbCredentials

Returns a new instance of ShadowDbCredentials.



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

def initialize credentials_dir
  @credentials_dir = credentials_dir
end

Instance Method Details

#process_configuration(configurations, rails_env) ⇒ Object



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

def process_configuration configurations, rails_env
  new_configurations = configurations.clone

  config = configurations[rails_env]

  new_configurations[rails_env] = process_credentials(indifferent_access(config))

  new_configurations
end

#process_configurations(configurations) ⇒ Object



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

def process_configurations configurations
  new_configurations = {}

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

  new_configurations
end

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



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

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

  template = ERB.new file.read

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

  process_credentials(config[rails_env.to_sym])
end