class RailsDbConfigResolver
Constants
- VERSION
Public Class Methods
new(file, env_url, rails_env)
click to toggle source
# File lib/rails_db_config_resolver.rb, line 10 def initialize(file, env_url, rails_env) @file = file @env_url = env_url @rails_env = rails_env end
Public Instance Methods
parse()
click to toggle source
# File lib/rails_db_config_resolver.rb, line 16 def parse merged_config.to_hash end
Private Instance Methods
env_url_config()
click to toggle source
# File lib/rails_db_config_resolver.rb, line 30 def env_url_config DatabaseConfig.from_url(@env_url) end
file_config()
click to toggle source
# File lib/rails_db_config_resolver.rb, line 34 def file_config DatabaseConfig.from_hash(file_config_hash) end
file_config_hash()
click to toggle source
# File lib/rails_db_config_resolver.rb, line 38 def file_config_hash symbolize_keys(YAML.load(rendered_yaml)[@rails_env]) end
merged_config()
click to toggle source
# File lib/rails_db_config_resolver.rb, line 22 def merged_config if @env_url file_config.merge(env_url_config) else file_config end end
raw_yaml()
click to toggle source
# File lib/rails_db_config_resolver.rb, line 42 def raw_yaml File.read(@file) end
rendered_yaml()
click to toggle source
# File lib/rails_db_config_resolver.rb, line 46 def rendered_yaml ERB.new(raw_yaml).result end
symbolize_keys(hash)
click to toggle source
# File lib/rails_db_config_resolver.rb, line 50 def symbolize_keys(hash) Hash[hash.map { |k, v| [k.to_sym, v] }] end