Class: NTimeLine::Pager

Inherits:
Base
  • Object
show all
Defined in:
lib/ntimeline/pager.rb

Overview

Pager is a class for search result summary.

Direct Known Subclasses

ArticlePager, TimeLinePager

Instance Attribute Summary collapse

Attributes inherited from Base

#timeline_key, #updated

Instance Method Summary collapse

Methods inherited from Base

bool_data, #init, int_data, #refresh, request, #request, request_with_key, #request_with_key, text_data, time_data, url_data

Constructor Details

#initialize(doc) ⇒ Pager

:nodoc:



8
9
10
11
12
13
# File 'lib/ntimeline/pager.rb', line 8

def initialize(doc) #:nodoc:
  summary = doc.root.elements["/response/result/summary"]
  @total = summary.elements["total"].text.to_i
  @page = summary.elements["page"].text.to_i
  @page_count = summary.elements["page_count"].text.to_i
end

Instance Attribute Details

#pageObject (readonly)

Returns the value of attribute page.



5
6
7
# File 'lib/ntimeline/pager.rb', line 5

def page
  @page
end

#page_countObject (readonly) Also known as: size

Returns the value of attribute page_count.



5
6
7
# File 'lib/ntimeline/pager.rb', line 5

def page_count
  @page_count
end

#request_paramsObject

Returns the value of attribute request_params.



6
7
8
# File 'lib/ntimeline/pager.rb', line 6

def request_params
  @request_params
end

#totalObject (readonly)

Returns the value of attribute total.



5
6
7
# File 'lib/ntimeline/pager.rb', line 5

def total
  @total
end

Instance Method Details

#[](n) ⇒ Object

Goto a page at the number.

n

page number



33
34
35
36
37
38
# File 'lib/ntimeline/pager.rb', line 33

def [](n)
  if n > 0 && n < @page_count
    params = @request_params.merge(:page => n)
    request(self.class::PATH, params, self.class)
  end
end

#nextObject

Goto a next page.



24
25
26
27
28
29
# File 'lib/ntimeline/pager.rb', line 24

def next
  if @page < @page_count
    params = @request_params.merge(:page => @page + 1)
    request(self.class::PATH, params, self.class)
  end
end

#prevObject

Goto a previous page.



16
17
18
19
20
21
# File 'lib/ntimeline/pager.rb', line 16

def prev
  if @page - 1 > 0
    params = @request_params.merge(:page => @page - 1)
    request(self.class::PATH, params, self.class)
  end
end