class SoapyBing::ParamGuard
Attributes
env_namespace[R]
local_options[R]
Public Class Methods
new(local_options, env_namespace: '')
click to toggle source
# File lib/soapy_bing/param_guard.rb, line 7 def initialize(local_options, env_namespace: '') @local_options = local_options @env_namespace = env_namespace end
Public Instance Methods
require!(name)
click to toggle source
# File lib/soapy_bing/param_guard.rb, line 12 def require!(name) local_options.fetch(name, ENV[env_var_name(name)]) || raise(ParamRequiredError, err_msg(name)) end
Private Instance Methods
env_var_name(name)
click to toggle source
# File lib/soapy_bing/param_guard.rb, line 24 def env_var_name(name) (env_namespace.empty? ? name : "#{env_namespace}_#{name}").upcase.tr('-', '_') end
err_msg(name)
click to toggle source
# File lib/soapy_bing/param_guard.rb, line 20 def err_msg(name) "#{name} have to be passed explicitly or via ENV['#{env_var_name(name)}']" end