class ThorAddons::Helpers::OptionsENV

Public Class Methods

parse(defaults, envs_aliases) click to toggle source
# File lib/thor-addons/helpers/options_env.rb, line 12
def self.parse(defaults, envs_aliases)
  opts = defaults.keys.each_with_object({}) do |option, hsh|
    value = get_from_env_or_alias(option.to_s.upcase, envs_aliases)

    next if value.nil?

    hsh[option] = OptionType.new(value, defaults[option][:type])
      .convert_string
  end

  OptionsHash.new(opts)
end

Private Class Methods

get_from_env_or_alias(env, envs_aliases) click to toggle source
# File lib/thor-addons/helpers/options_env.rb, line 6
                     def self.get_from_env_or_alias(env, envs_aliases)
  return ENV[env] unless ENV[env].nil? && envs_aliases.keys.include?(env)

  ENV[envs_aliases[env]]
end