Method: Ooor::OoorBehavior::ClassMethods#format_config
- Defined in:
- lib/ooor.rb
#format_config(config) ⇒ Object
gives a hash config from a connection string or a yaml file, injects default values
102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
# File 'lib/ooor.rb', line 102 def format_config(config) if config.is_a?(String) && config.end_with?('.yml') env = defined?(Rails.env) ? Rails.env : nil config = load_config_file(config, env) end if config.is_a?(String) cs = config config = HashWithIndifferentAccess.new() elsif config[:ooor_url] cs = config[:ooor_url] elsif ENV['OOOR_URL'] cs = ENV['OOOR_URL'].dup() end config.merge!(parse_connection_string(cs)) if cs defaults = HashWithIndifferentAccess.new({ url: 'http://localhost:8069', username: 'admin' }) defaults[:password] = ENV['OOOR_PASSWORD'] if ENV['OOOR_PASSWORD'] defaults[:username] = ENV['OOOR_USERNAME'] if ENV['OOOR_USERNAME'] defaults[:database] = ENV['OOOR_DATABASE'] if ENV['OOOR_DATABASE'] defaults.merge(config) end |