improved configuration utility
This commit is contained in:
@ -4,11 +4,17 @@ module CodeOcean
|
||||
@filename = filename
|
||||
end
|
||||
|
||||
def read
|
||||
path = Rails.root.join('config', "#{@filename}.yml")
|
||||
if File.exists?(path)
|
||||
YAML.load_file(path)[Rails.env].symbolize_keys
|
||||
def read(options = {})
|
||||
path = Rails.root.join('config', "#{@filename}.yml#{options[:erb] ? '.erb' : ''}")
|
||||
if ::File.exists?(path)
|
||||
content = options[:erb] ? YAML.load(ERB.new(::File.new(path, 'r').read).result) : YAML.load_file(path)
|
||||
content[Rails.env].with_indifferent_access
|
||||
else
|
||||
raise Error.new("Configuration file not found: #{path}")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
class Config::Error < RuntimeError
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user