Class: NiwaTextream::CategoryPage

Inherits:
MainPage
  • Object
show all
Defined in:
lib/niwa_textream/pages/category/category_page.rb

Constant Summary collapse

@@url =
"http://textream.yahoo.co.jp/category/%{category_id}"

Instance Attribute Summary collapse

Attributes inherited from MainPage

#url

Instance Method Summary collapse

Methods inherited from MainPage

goTo, url

Constructor Details

#initialize(mechanize) ⇒ CategoryPage

Returns a new instance of CategoryPage.



10
11
12
13
14
# File 'lib/niwa_textream/pages/category/category_page.rb', line 10

def initialize(mechanize)
  super(mechanize)
  setCategory
  return self
end

Instance Attribute Details

#categoriesObject

Returns the value of attribute categories.



8
9
10
# File 'lib/niwa_textream/pages/category/category_page.rb', line 8

def categories
  @categories
end

Instance Method Details

#clickCategory(name) ⇒ Object



32
33
34
35
# File 'lib/niwa_textream/pages/category/category_page.rb', line 32

def clickCategory(name)
  @mechanize.click(@categories[name].elem)
  return NiwaTextream::ThreadPage.new(@mechanize)
end

#setCategoryObject

set category(its parent category is not set)



17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/niwa_textream/pages/category/category_page.rb', line 17

def setCategory
  @categories = {}
  @mechanize.page.search("//a[@class='cf']").each do |cat|
    num_thread_with_bracket = cat.search('.//span')[0].inner_text
    num_thread = num_thread_with_bracket.match('\((\d+)\)')[1]
    catObj = NiwaTextream::Category.new
    catObj.elem = cat
    catObj.name = cat.inner_text.match('(.+?)\((.+?)\)')[1]
    catObj.num_thread = num_thread
    @categories[catObj.name] = catObj
    puts("--#CategoryPage#--")
    puts(catObj.name)
  end
end