module Dotenv::Substitutions::Variable
Substitute variables in a value.
HOST=example.com URL="https://$HOST"
Constants
- VARIABLE
Public Class Methods
call(value, env, is_load)
click to toggle source
# File lib/dotenv/substitutions/variable.rb, line 21 def call(value, env, is_load) combined_env = if is_load env.merge(ENV) else ENV.to_h.merge(env) end value.gsub(VARIABLE) do |variable| match = $LAST_MATCH_INFO substitute(match, variable, combined_env) end end
Private Class Methods
substitute(match, variable, env)
click to toggle source
# File lib/dotenv/substitutions/variable.rb, line 35 def substitute(match, variable, env) if match[1] == '\\' variable[1..-1] elsif match[3] env.fetch(match[3], "") else variable end end