Probando geoplugin.net desde ruby

Ayer en un rato libre y tonto, estuve trasteando con ruby y el servicio de geolocalización por ip http://www.geoplugin.net. A la petición http://www.geoplugin.net/php.gp?ip=91.61.81.221 tenemos una respuesta del tipo:

a:14:{s:14:"geoplugin_city";s:8:"Chemnitz";s:16:"geoplugin_region";s:6:"Saxony";s:18:"geoplugin_areaCode";s:1:"0";s:17:"geoplugin_dmaCode";s:1:"0";s:21:"geoplugin_countryCode";s:2:"DE";s:21:"geoplugin_countryName";s:7:"Germany";s:23:"geoplugin_continentCode";s:2:"EU";s:18:"geoplugin_latitude";s:15:"50.833301544189";s:19:"geoplugin_longitude";s:15:"12.916700363159";s:20:"geoplugin_regionCode";s:2:"13";s:20:"geoplugin_regionName";s:6:"Saxony";s:22:"geoplugin_currencyCode";s:3:"EUR";s:24:"geoplugin_currencySymbol";s:7:"€";s:27:"geoplugin_currencyConverter";d:0.68893261679999995283907310295035131275653839111328125;}

Un objeto serializado al modo php. Depués de probar la gema json y otros medios de serialización/deserialización de objetos ruby sin éxito, me encuentro con la gema php-serialize que hace justo lo que necesito.

      require 'php_serialize'
      geo_request = Net::HTTP.get_response(URI.parse("http://www.geoplugin.net/php.gp?ip="+request.remote_ip)).body
      geo_request=PHP.unserialize(ip)
      puts geo_request['geoplugin_latitude']
      puts geo_request['geoplugin_longitude']

Seguro que existen otras formas más eficientes de hacer lo mismo, pero por el momento me ha servido.