Class: SecretConfig::SettingInterpolator
Instance Method Summary
collapse
#initialize, #parse
Instance Method Details
#date(format = "%Y%m%d") ⇒ Object
25
26
27
|
# File 'lib/secret_config/setting_interpolator.rb', line 25
def date(format = "%Y%m%d")
Date.today.strftime(format)
end
|
#env(name, default = :no_default_supplied) ⇒ Object
33
34
35
36
37
38
39
|
# File 'lib/secret_config/setting_interpolator.rb', line 33
def env(name, default = :no_default_supplied)
return ENV[name] if ENV.key?(name)
return default unless default == :no_default_supplied
raise(MissingEnvironmentVariable, "Missing mandatory environment variable: #{name}")
end
|
#hostname(format = nil) ⇒ Object
41
42
43
44
45
|
# File 'lib/secret_config/setting_interpolator.rb', line 41
def hostname(format = nil)
name = Socket.gethostname
name = name.split(".")[0] if format == "short"
name
end
|
#pid ⇒ Object
47
48
49
|
# File 'lib/secret_config/setting_interpolator.rb', line 47
def pid
$$
end
|
#random(size = 32) ⇒ Object
51
52
53
|
# File 'lib/secret_config/setting_interpolator.rb', line 51
def random(size = 32)
SecureRandom.urlsafe_base64(size)
end
|
#select(*values) ⇒ Object
Empty values return nil which removes the key entirely from the config
56
57
58
59
60
61
62
|
# File 'lib/secret_config/setting_interpolator.rb', line 56
def select(*values)
if values.size < 2
raise(ConfigurationError, "Must supply at least 2 options when using select: #{values.inspect}")
end
values[SecureRandom.random_number(values.count)]
end
|
#time(format = "%Y%m%d%H%M%S%L") ⇒ Object
29
30
31
|
# File 'lib/secret_config/setting_interpolator.rb', line 29
def time(format = "%Y%m%d%H%M%S%L")
Time.now.strftime(format)
end
|