class NiwaTextream::ThreadPage

thread list

Attributes

next_page_elem[RW]
prev_page_elem[RW]
threads[RW]

Public Class Methods

new(mechanize) click to toggle source
Calls superclass method NiwaTextream::MainPage::new
# File lib/niwa_textream/pages/thread/thread_page.rb, line 14
def initialize(mechanize)
  super(mechanize)
  setThreads
  setNextPageElem
  setPrevPageElem
  return self
end

Public Instance Methods

clickNextPage() click to toggle source
# File lib/niwa_textream/pages/thread/thread_page.rb, line 49
def clickNextPage
  @mechanize.click(@next_page_elem)
  return NiwaTextream::ThreadPage.new(@mechanize)
end
clickPrevPage() click to toggle source
# File lib/niwa_textream/pages/thread/thread_page.rb, line 54
def clickPrevPage
  @mechanize.click(@prev_page_elem)
  return NiwaTextream::ThreadPage.new(@mechanize)
end
clickThread(thread) click to toggle source
# File lib/niwa_textream/pages/thread/thread_page.rb, line 59
def clickThread(thread)
  @mechanize.click(thread.elem)
  return MessagePage.new(@mechanize)
end
nextPageAvail?() click to toggle source
# File lib/niwa_textream/pages/thread/thread_page.rb, line 45
def nextPageAvail?
  @next_page_elem.nil? == false
end
prevPageAvail?() click to toggle source
# File lib/niwa_textream/pages/thread/thread_page.rb, line 41
def prevPageAvail?
  @prev_page_elem.nil? == false
end
setNextPageElem() click to toggle source
# File lib/niwa_textream/pages/thread/thread_page.rb, line 33
def setNextPageElem
  @next_page_elem = @mechanize.page.search("//*[@class='btnNext']/a")[0]
end
setPrevPageElem() click to toggle source
# File lib/niwa_textream/pages/thread/thread_page.rb, line 37
def setPrevPageElem
  @prev_page_elem = @mechanize.page.search("//*[@class='btnPrev']/a")[0]
end
setThreads() click to toggle source
# File lib/niwa_textream/pages/thread/thread_page.rb, line 22
def setThreads
  @threads = []
  @mechanize.page.search("//*[@id='trdlst']//dl[@class='cf']").each do |thread|
    thread_title_elem = thread.search(".//a[@data-sec='trdlst']")[0]
    last_updated = DateTime.parse(thread.search(".//li[@class='time bold']")[0].inner_text())
    num_comment = thread.search("//*[@class='commentCount']").inner_text().to_i
    @threads.push(NiwaTextream::Thread.new(thread_title_elem, thread_title_elem.inner_text(), num_comment, last_updated))
    puts("#{thread_title_elem.inner_text()}, #{num_comment}, #{last_updated}")
  end
end