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(URI.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