Module: Inquisitive::Environment::Parser
- Defined in:
- lib/inquisitive/environment.rb
Class Method Summary collapse
- .[](var_name) ⇒ Object
- .env_key?(var_name) ⇒ Boolean
- .env_keys_from(var_name) ⇒ Object
- .key_for(env_key, var_name) ⇒ Object
Class Method Details
.[](var_name) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/inquisitive/environment.rb', line 51 def [](var_name) if ENV.has_key? var_name env_var = ENV[var_name] if env_var.include? ',' env_var.split(',').map(&:strip) else env_var end elsif Parser.env_key? var_name Parser.env_keys_from(var_name).reduce({}) do |hash, key| hash[Parser.key_for(key, var_name)] = Inquisitive[Parser[key]] hash end end end |
.env_key?(var_name) ⇒ Boolean
77 78 79 |
# File 'lib/inquisitive/environment.rb', line 77 def env_key?(var_name) !env_keys_from(var_name).empty? end |
.env_keys_from(var_name) ⇒ Object
71 72 73 74 75 |
# File 'lib/inquisitive/environment.rb', line 71 def env_keys_from(var_name) ENV.keys.select do |key| key =~ /^#{var_name}_/ end end |
.key_for(env_key, var_name) ⇒ Object
81 82 83 |
# File 'lib/inquisitive/environment.rb', line 81 def key_for(env_key, var_name) env_key.gsub("#{var_name}_", '').downcase end |