Files
codeocean/lib/code_ocean/config.rb
2021-05-14 22:03:06 +02:00

22 lines
581 B
Ruby

# frozen_string_literal: true
module CodeOcean
class Config
def initialize(filename)
@filename = filename
end
def read(options = {})
path = Rails.root.join('config', "#{@filename}.yml#{options[:erb] ? '.erb' : ''}")
if ::File.exist?(path)
content = options[:erb] ? YAML.safe_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
class Error < RuntimeError; end
end
end