Skip to content

Instantly share code, notes, and snippets.

@valarpirai
Last active January 31, 2022 11:48
Show Gist options
  • Save valarpirai/e7dc78809533270cd869a99657bc2c54 to your computer and use it in GitHub Desktop.
Save valarpirai/e7dc78809533270cd869a99657bc2c54 to your computer and use it in GitHub Desktop.
Load configs from ERB based YML files in Rails application
module AppConfig
def self._config
@_config ||= ErbYaml.load_file("#{Rails.root}/config/app_configuration.yml")
end
def self.env
_config["env_name"]
end
end
defaults: &defaults
env_name: "<%= Rails.env %>"
development: &development
<<: *defaults
qa:
<<: *defaults
module ErbYaml
def self.load_file(path, a_binding = binding)
content = File.read(path)
YAML.load(ERB.new(content).result(a_binding))[Rails.env]
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment