def load_profile(file, profile = 'default')
      IniFile.load(file)[profile].each_with_object({}) do |(k, v), memo|
        memo[k.to_sym] = v
      end
    rescue StandardError
      raise Wavefront::Exception::InvalidConfigFile, file
    end
def load_profile(file, profile = 'default')
      IniFile.load(file)[profile].each_with_object({}) do |(k, v), memo|
        memo[k.to_sym] = v
      end
    rescue StandardError
      raise Wavefront::Exception::InvalidConfigFile, file
    end
Load in an (optionally) given section of an ini-style
 configuration file not there, we don't consider that an error.

 @param file [Pathname] the file to read
 @param profile [String] the section in the config to read
 @return [Hash] options loaded from file. Each key becomes a
   symbol