Sha256: 42c92dcf0c075bb9dcd1fa199c5386b566168c2e9826c06d9648255261eefdba
Contents?: true
Size: 853 Bytes
Versions: 1
Compression:
Stored size: 853 Bytes
Contents
# This is a monkey patch to decrypt the yaml files before loading into `Config` gem require "config/sources/yaml_source" class Config::Sources::YAMLSource def load result = nil if @path and File.exist?(@path) content = IO.read(@path) descrypted_content = decrypt_content(content) result = YAML.load(ERB.new(descrypted_content).result) end result || {} rescue Psych::SyntaxError => e raise "YAML syntax error occurred while parsing #{@path}. " \ "Please note that YAML must be consistently indented using spaces. Tabs are not allowed. " \ "Error: #{e.message}" end def decrypt_content(content) parsed_content = Caco.config.eyaml_parser.parse(content) parsed_content.each do |parsed| content.sub!(parsed.match, parsed.to_plain_text) end content end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
caco-0.1.0 | lib/caco/settings_loader_monkeypatch.rb |