Получаем данные о погоде. Пример предоставлен онлайн курсами «Хороший программист»:. Создать ссылку для get запроса (страна и город), можно здесь.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
require 'net/http'
require 'uri'
require 'rexml/document'
CLOUDINESS = {0 => 'Ясно', 1 => 'Малооблачно', 2 => 'Облачно', 3 => 'Пасмурно'}

uri = URI.parse('http://xml.meteoservice.ru/export/gismeteo/point/128.xml')
res = Net::HTTP.get_response(uri)
doc = REXML::Document.new(res.body)
city_name = URI.unescape(doc.root.elements['REPORT/TOWN'].attributes['sname'])
current_forecast = doc.root.elements['REPORT/TOWN'].elements.to_a[0]
min_temp = current_forecast.elements['TEMPERATURE'].attributes['min']
max_temp = current_forecast.elements['TEMPERATURE'].attributes['max']
max_wind = current_forecast.elements['WIND'].attributes['max']
clouds_index = current_forecast.elements['PHENOMENA'].attributes['cloudiness'].to_i
clouds = CLOUDINESS[clouds_index]
puts city_name
puts "Температура: от #{min_temp} до #{max_temp}"
puts "Ветер до #{max_wind} м/c"
puts clouds