module Syobocal::RSS2

Public Class Methods

get(params = {}) click to toggle source
# File lib/syobocal/rss2.rb, line 3
def get(params = {})
  parse(open(url(params)))
end
parse(rss) click to toggle source
# 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 = {}) click to toggle source
# File lib/syobocal/rss2.rb, line 7
def url(params = {})
  "http://cal.syoboi.jp/rss2.php" + Syobocal::Util.format_params(params)
end

Private Instance Methods

get(params = {}) click to toggle source
# File lib/syobocal/rss2.rb, line 3
def get(params = {})
  parse(open(url(params)))
end
parse(rss) click to toggle source
# 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 = {}) click to toggle source
# File lib/syobocal/rss2.rb, line 7
def url(params = {})
  "http://cal.syoboi.jp/rss2.php" + Syobocal::Util.format_params(params)
end