class ElasticAPM::Config

def set_from_env

rubocop:disable Metrics/MethodLength, Metrics/CyclomaticComplexity
def set_from_env
  ENV_TO_KEY.each do |env_key, key|
    next unless (value = ENV[env_key])
    type, key = key if key.is_a? Array
    value =
      case type
      when :int then value.to_i
      when :float then value.to_f
      when :bool then !%w[0 false].include?(value.strip.downcase)
      when :list then value.split(/[ ,]/)
      else value
      end
    send("#{key}=", value)
  end
end