Module: Rss

Defined in:
lib/unienv/rss.rb

Class Method Summary collapse

Class Method Details

.fetch_rss(uri) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/unienv/rss.rb', line 6

def self.fetch_rss(uri)
  s = UniEnv.download_to_s(uri).read
  #s.gsub!(/&lt;/, '<')
  #s.gsub!(/&gt;/, '>')
  doc = REXML::Document.new(s)
  versions = {}
  doc.elements.each('rss/channel/item') do |e|
    ver = (e.elements['title'].text.strip =~ /\APatch\s+(.+)\Z/)? $1 : ''
    next if ver.empty? or ver[0] == '4'
    desc = CGI.unescapeHTML(e.elements['description'].text)
    editor = (desc =~ /Unity-#{ver}.pkg/)? $& : ''
    assets = (desc =~ /StandardAssets-#{ver}.pkg/)? $& : ''
    next if editor.empty? or assets.empty?
    versions[ver] = [editor, assets]
  end
  versions
end