Class: TableauServerClient::PaginatableResponse::Pagination
- Inherits:
-
Object
- Object
- TableauServerClient::PaginatableResponse::Pagination
- Defined in:
- lib/tableau_server_client/paginatable_response.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(page_number, page_size, total_available) ⇒ Pagination
constructor
A new instance of Pagination.
- #next_page? ⇒ Boolean
- #next_request_params ⇒ Object
- #page_number ⇒ Object
- #page_size ⇒ Object
- #total_available ⇒ Object
Constructor Details
#initialize(page_number, page_size, total_available) ⇒ Pagination
Returns a new instance of Pagination.
39 40 41 42 43 |
# File 'lib/tableau_server_client/paginatable_response.rb', line 39 def initialize(page_number, page_size, total_available) @page_number = page_number @page_size = page_size @total_available = total_available end |
Class Method Details
.parse(xml) ⇒ Object
57 58 59 60 61 |
# File 'lib/tableau_server_client/paginatable_response.rb', line 57 def self.parse(xml) pg = Nokogiri::XML(xml).xpath("//xmlns:pagination")[0] return nil unless pg Pagination.new(pg['pageNumber'], pg['pageSize'], pg['totalAvailable']) end |
Instance Method Details
#next_page? ⇒ Boolean
63 64 65 |
# File 'lib/tableau_server_client/paginatable_response.rb', line 63 def next_page? page_number * page_size < total_available end |
#next_request_params ⇒ Object
67 68 69 |
# File 'lib/tableau_server_client/paginatable_response.rb', line 67 def next_request_params { pageSize: page_size, pageNumber: page_number + 1 } end |
#page_number ⇒ Object
45 46 47 |
# File 'lib/tableau_server_client/paginatable_response.rb', line 45 def page_number @page_number.to_i end |
#page_size ⇒ Object
49 50 51 |
# File 'lib/tableau_server_client/paginatable_response.rb', line 49 def page_size @page_size.to_i end |
#total_available ⇒ Object
53 54 55 |
# File 'lib/tableau_server_client/paginatable_response.rb', line 53 def total_available @total_available.to_i end |