Module: ServiceSkeleton::ConfigVariables
- Defined in:
- lib/service_skeleton/config_variables.rb
Instance Method Summary collapse
- #boolean(var_name, default: UNDEFINED, sensitive: false) ⇒ Object
- #enum(var_name, values:, default: UNDEFINED, sensitive: false) ⇒ Object
- #float(var_name, default: UNDEFINED, sensitive: false, range: -Float::INFINITY..Float::INFINITY) ⇒ Object
- #integer(var_name, default: UNDEFINED, sensitive: false, range: -Float::INFINITY..Float::INFINITY) ⇒ Object
- #kv_list(var_name, default: UNDEFINED, sensitive: false, key_pattern: /\A#{var_name}_(.*)\z/) ⇒ Object
- #path_list(var_name, default: UNDEFINED, sensitive: false) ⇒ Object
- #register_variable(name, klass, **opts) ⇒ Object
- #registered_variables ⇒ Object
- #string(var_name, default: UNDEFINED, sensitive: false, match: nil) ⇒ Object
- #url(var_name, default: UNDEFINED, sensitive: false) ⇒ Object
- #yaml_file(var_name, default: UNDEFINED, sensitive: false, klass: nil) ⇒ Object
Instance Method Details
#boolean(var_name, default: UNDEFINED, sensitive: false) ⇒ Object
28 29 30 |
# File 'lib/service_skeleton/config_variables.rb', line 28 def boolean(var_name, default: UNDEFINED, sensitive: false) register_variable(var_name, ConfigVariable::Boolean, default: default, sensitive: sensitive) end |
#enum(var_name, values:, default: UNDEFINED, sensitive: false) ⇒ Object
32 33 34 35 36 37 38 39 |
# File 'lib/service_skeleton/config_variables.rb', line 32 def enum(var_name, values:, default: UNDEFINED, sensitive: false) unless values.is_a?(Hash) || values.is_a?(Array) raise ArgumentError, "values option to enum must be a hash or array" end register_variable(var_name, ConfigVariable::Enum, default: default, sensitive: sensitive, values: values) end |
#float(var_name, default: UNDEFINED, sensitive: false, range: -Float::INFINITY..Float::INFINITY) ⇒ Object
41 42 43 |
# File 'lib/service_skeleton/config_variables.rb', line 41 def float(var_name, default: UNDEFINED, sensitive: false, range: -Float::INFINITY..Float::INFINITY) register_variable(var_name, ConfigVariable::Float, default: default, sensitive: sensitive, range: range) end |
#integer(var_name, default: UNDEFINED, sensitive: false, range: -Float::INFINITY..Float::INFINITY) ⇒ Object
45 46 47 |
# File 'lib/service_skeleton/config_variables.rb', line 45 def integer(var_name, default: UNDEFINED, sensitive: false, range: -Float::INFINITY..Float::INFINITY) register_variable(var_name, ConfigVariable::Integer, default: default, sensitive: sensitive, range: range) end |
#kv_list(var_name, default: UNDEFINED, sensitive: false, key_pattern: /\A#{var_name}_(.*)\z/) ⇒ Object
49 50 51 |
# File 'lib/service_skeleton/config_variables.rb', line 49 def kv_list(var_name, default: UNDEFINED, sensitive: false, key_pattern: /\A#{var_name}_(.*)\z/) register_variable(var_name, ConfigVariable::KVList, default: default, sensitive: sensitive, key_pattern: key_pattern) end |
#path_list(var_name, default: UNDEFINED, sensitive: false) ⇒ Object
53 54 55 |
# File 'lib/service_skeleton/config_variables.rb', line 53 def path_list(var_name, default: UNDEFINED, sensitive: false) register_variable(var_name, ConfigVariable::PathList, default: default, sensitive: sensitive) end |
#register_variable(name, klass, **opts) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/service_skeleton/config_variables.rb', line 16 def register_variable(name, klass, **opts) if opts[:default] == UNDEFINED opts.delete(:default) end registered_variables << { name: name, class: klass, opts: opts, } end |
#registered_variables ⇒ Object
12 13 14 |
# File 'lib/service_skeleton/config_variables.rb', line 12 def registered_variables @registered_variables ||= [] end |
#string(var_name, default: UNDEFINED, sensitive: false, match: nil) ⇒ Object
57 58 59 |
# File 'lib/service_skeleton/config_variables.rb', line 57 def string(var_name, default: UNDEFINED, sensitive: false, match: nil) register_variable(var_name, ConfigVariable::String, default: default, sensitive: sensitive, match: match) end |
#url(var_name, default: UNDEFINED, sensitive: false) ⇒ Object
61 62 63 |
# File 'lib/service_skeleton/config_variables.rb', line 61 def url(var_name, default: UNDEFINED, sensitive: false) register_variable(var_name, ConfigVariable::URL, default: default, sensitive: sensitive) end |
#yaml_file(var_name, default: UNDEFINED, sensitive: false, klass: nil) ⇒ Object
65 66 67 |
# File 'lib/service_skeleton/config_variables.rb', line 65 def yaml_file(var_name, default: UNDEFINED, sensitive: false, klass: nil) register_variable(var_name, ConfigVariable::YamlFile, default: default, sensitive: sensitive, klass: klass) end |