def hurricane_data
      begin
        response = get('currenthurricane', 'view')
      rescue Weatheruby::WeatherError => e
        # For some reason the API always errors with this when getting current hurricane data.
        fail e unless e.message.start_with?('querynotfound')
        response = e.full_response
      end
      p response

      ret = {}
      response['currenthurricane'].each do |h|
        ret[h['stormInfo']['stormName_Nice']] = {
          name: h['stormInfo']['stormName'],
          number: h['stormInfo']['stormNumber'],
          category: h['Current']['Category'],
          time: Time.parse(h['Current']['Time']['pretty']),
          wind_speed_mph: h['Current']['WindSpeed']['Mph'],
          wind_speed_kts: h['Current']['WindSpeed']['Kts'],
          wind_speed_kph: h['Current']['WindSpeed']['Kph'],
          gust_speed_mph: h['Current']['WindGust']['Mph'],
          gust_speed_kts: h['Current']['WindGust']['Kts'],
          gust_speed_kph: h['Current']['WindGust']['Kph']
        }
      end

      ret
    end
def hurricane_data
      begin
        response = get('currenthurricane', 'view')
      rescue Weatheruby::WeatherError => e
        # For some reason the API always errors with this when getting current hurricane data.
        fail e unless e.message.start_with?('querynotfound')
        response = e.full_response
      end
      p response

      ret = {}
      response['currenthurricane'].each do |h|
        ret[h['stormInfo']['stormName_Nice']] = {
          name: h['stormInfo']['stormName'],
          number: h['stormInfo']['stormNumber'],
          category: h['Current']['Category'],
          time: Time.parse(h['Current']['Time']['pretty']),
          wind_speed_mph: h['Current']['WindSpeed']['Mph'],
          wind_speed_kts: h['Current']['WindSpeed']['Kts'],
          wind_speed_kph: h['Current']['WindSpeed']['Kph'],
          gust_speed_mph: h['Current']['WindGust']['Mph'],
          gust_speed_kts: h['Current']['WindGust']['Kts'],
          gust_speed_kph: h['Current']['WindGust']['Kph']
        }
      end

      ret
    end
Gets data for currently-happening storms around the world.
 @return [Hash<String, Hash<Symbol, String/Integer>>] A hash containing hashes of data. Each sub-hash is named
   as the name for the storm including the type (example: Hurricane Daniel). The sub-hash values are as follows:

   * `:name` (`String`) — The name of the hurricane (example: Daniel)
   * `:number` (`String`) — The ID of the storm, 8 characters with a 2 letter basin ID.
   * `:category` (`String`) — The type of storm according to the Saffir-Simpson scale.
   * `:time` (`Time`) — The time the storm is recorded to start or have started using the local timezone for this
   location.
   * `:wind_speed_mph` (`Integer`) — The speed of the wind in this storm in miles per hour.
   * `:wind_speed_kts` (`Integer`) — The speed of the wind in this storm in knots.
   * `:wind_speed_kph` (`Integer`) — The speed of the wind in this storm in kilometers per hour.
   * `:gust_speed_mph` (`Integer`) — The speed of the gusts of wind in this storm in miles per hour.
   * `:gust_speed_kts` (`Integer`) — The speed of the gusts of wind in this storm in knots.
   * `:gust_speed_kph` (`Integer`) — The speed of the gusts of wind in this storm in kilometers per hour.