class VaultConsul::ConfigHandler
Public Instance Methods
scalar(value, anchor, tag, plain, quoted, style)
click to toggle source
Calls superclass method
# File lib/vault-consul/config_handler.rb, line 4 def scalar value, anchor, tag, plain, quoted, style vault_regex = /vault:/ consul_regex = /consul:/ env_regex = /env:/ translated = if value.match(vault_regex) vault_tag = value.gsub(vault_regex, '') vault_tag_holder = vault_tag.split('.') vault_key = vault_tag_holder[0] json_key = vault_tag_holder[1] VaultConsul.read_vault(vault_key, json_key) elsif value.match(consul_regex) consul_key = value.gsub(consul_regex, '') VaultConsul.read_consul(consul_key) elsif value.match(env_regex) ENV[value.gsub(env_regex, '')] else value end raise ConfigError, "Missing config: #{value}" if translated.nil? || translated == '' super translated, anchor, tag, plain, quoted, style end