13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/habr.rb', line 13
def load_user_data(user_name)
url = Habr::HABR_API_PROFILE_URL.gsub('%%username%%', CGI.escape(user_name)).to_s
doc = Nokogiri::XML(open(url,
'Content-type' => 'text/xml',
'User-Agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_7) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.57 Safari/534.24'
))
data = {}
error = nil
doc.css('habrauser error').each do |e|
error = e.content.to_s
end
raise "Data loading error: #{error}" if !error.nil?
Habr::User::FIELDS.each do |f|
doc.css("habrauser #{f.to_s}").each do |field|
data[f] = field.content.to_s
end
end
data
end
|