Module: Syobocal::RSS2

Defined in:
lib/syobocal/rss2.rb

Defined Under Namespace

Classes: Result

Class Method Summary collapse

Class Method Details

.get(params = {}) ⇒ Object



3
4
5
# File 'lib/syobocal/rss2.rb', line 3

def get(params = {})
  parse(open(url(params)))
end

.parse(rss) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/syobocal/rss2.rb', line 11

def parse(rss)
  rss = REXML::Document.new(rss)

  result = Result.new

  channel = rss.elements['rss/channel']
  result.title = channel.elements['title'].text
  result.link = channel.elements['link'].text
  result.dc_language = channel.elements['dc:language'].text
  result.pub_date = Time.parse(channel.elements['pubDate'].text)
  
  rss.elements.each('rss/channel/item'){|item|
    result << {
      :title => item.elements['title'].text,
      :link => item.elements['link'].text,
      :description => item.elements['description'].text,
      :pub_date => Time.parse(item.elements['pubDate'].text),
    }
  }

  result
end

.url(params = {}) ⇒ Object



7
8
9
# File 'lib/syobocal/rss2.rb', line 7

def url(params = {})
  'http://cal.syoboi.jp/rss2.php' + Syobocal::Util.format_params(params)
end