class AeRssMaker::Momorikobuta

Public Class Methods

fetch(id, password) click to toggle source
# File lib/ae_rss_maker/momorikobuta/fetch.rb, line 9
def self.fetch(id, password)
  Momorikobuta.new.fetch(id, password)
end
new() click to toggle source
# File lib/ae_rss_maker/momorikobuta/fetch.rb, line 5
def initialize
  @agent = Mechanize.new
end

Public Instance Methods

fetch(id, password) click to toggle source
# File lib/ae_rss_maker/momorikobuta/fetch.rb, line 13
def fetch(id, password)
  login(id, password)

  feeds = []
  diary_list.each do |node|
    feed = Feed.new
    feed.title = title(node)
    feed.url = url(node)
    feed.date = date(node)
    feed.description = description(feed.url)
    feeds.push(feed)
  end
  feeds
end

Private Instance Methods

date(node) click to toggle source
# File lib/ae_rss_maker/momorikobuta/fetch.rb, line 54
def date(node)
  elm = node.xpath('./div/p[@class="date"]')
  elm.empty? ? '' : elm.text[/[0-9]{4}\/[0-9]{2}\/[0-9]{2}/]
end
description(url) click to toggle source
# File lib/ae_rss_maker/momorikobuta/fetch.rb, line 59
def description(url)
  page = @agent.get(url)
  body = page.search('//p[@class="body"]')
  body.empty? ? '' : body.to_html
end
diary_list() click to toggle source
# File lib/ae_rss_maker/momorikobuta/fetch.rb, line 39
def diary_list
  page = @agent.get('http://fc.momoclo.net/pc/diary2/')
  page.search('//div[@id="inmain"]/div[@class="cont"]/ul/li')
end
login(id, password) click to toggle source
# File lib/ae_rss_maker/momorikobuta/fetch.rb, line 30
def login(id, password)
  page = @agent.get('https://fc.momoclo.net/pc/login.php')
  page.forms_with(action: '/pc/login.php').each do |form|
    form.login_id = id
    form.password = password
    @agent.submit(form)
  end
end
title(node) click to toggle source
# File lib/ae_rss_maker/momorikobuta/fetch.rb, line 44
def title(node)
  elm = node.xpath('./div/h3/a')
  elm.empty? ? '' : elm[0].text
end
url(node) click to toggle source
# File lib/ae_rss_maker/momorikobuta/fetch.rb, line 49
def url(node)
  elm = node.xpath('./div/h3/a')
  elm.empty? ? '' : URI.join('http://fc.momoclo.net', elm[0][:href]).to_s
end