Class: NiwaTextream::ThreadPage
- Defined in:
- lib/niwa_textream/pages/thread/thread_page.rb
Overview
thread list
Constant Summary collapse
- @@url =
"http://textream.yahoo.co.jp/thread/%{category_id}"
Instance Attribute Summary collapse
-
#next_page_elem ⇒ Object
Returns the value of attribute next_page_elem.
-
#prev_page_elem ⇒ Object
Returns the value of attribute prev_page_elem.
-
#threads ⇒ Object
Returns the value of attribute threads.
Attributes inherited from MainPage
Instance Method Summary collapse
- #clickNextPage ⇒ Object
- #clickPrevPage ⇒ Object
- #clickThread(thread) ⇒ Object
-
#initialize(mechanize) ⇒ ThreadPage
constructor
A new instance of ThreadPage.
- #nextPageAvail? ⇒ Boolean
- #prevPageAvail? ⇒ Boolean
- #setNextPageElem ⇒ Object
- #setPrevPageElem ⇒ Object
- #setThreads ⇒ Object
Methods inherited from MainPage
Constructor Details
#initialize(mechanize) ⇒ ThreadPage
Returns a new instance of ThreadPage.
14 15 16 17 18 19 20 |
# File 'lib/niwa_textream/pages/thread/thread_page.rb', line 14 def initialize(mechanize) super(mechanize) setThreads setNextPageElem setPrevPageElem return self end |
Instance Attribute Details
#next_page_elem ⇒ Object
Returns the value of attribute next_page_elem.
12 13 14 |
# File 'lib/niwa_textream/pages/thread/thread_page.rb', line 12 def next_page_elem @next_page_elem end |
#prev_page_elem ⇒ Object
Returns the value of attribute prev_page_elem.
12 13 14 |
# File 'lib/niwa_textream/pages/thread/thread_page.rb', line 12 def prev_page_elem @prev_page_elem end |
#threads ⇒ Object
Returns the value of attribute threads.
12 13 14 |
# File 'lib/niwa_textream/pages/thread/thread_page.rb', line 12 def threads @threads end |
Instance Method Details
#clickNextPage ⇒ Object
49 50 51 52 |
# 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 ⇒ Object
54 55 56 57 |
# 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) ⇒ Object
59 60 61 62 |
# File 'lib/niwa_textream/pages/thread/thread_page.rb', line 59 def clickThread(thread) @mechanize.click(thread.elem) return MessagePage.new(@mechanize) end |
#nextPageAvail? ⇒ Boolean
45 46 47 |
# File 'lib/niwa_textream/pages/thread/thread_page.rb', line 45 def nextPageAvail? @next_page_elem.nil? == false end |
#prevPageAvail? ⇒ Boolean
41 42 43 |
# File 'lib/niwa_textream/pages/thread/thread_page.rb', line 41 def prevPageAvail? @prev_page_elem.nil? == false end |
#setNextPageElem ⇒ Object
33 34 35 |
# 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 ⇒ Object
37 38 39 |
# 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 ⇒ Object
22 23 24 25 26 27 28 29 30 31 |
# 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 |