Files
codeocean/lib/code_ocean/config.rb

24 lines
688 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)
yaml_content = ::File.new(path, 'r').read || ''
yaml_content = ERB.new(yaml_content).result if options[:erb]
content = YAML.safe_load(yaml_content, aliases: true, permitted_classes: [Range, Symbol])
content[Rails.env].with_indifferent_access
else
raise Error.new("Configuration file not found: #{path}")
end
end
class Error < RuntimeError; end
end
end