Class: TableauServerClient::PaginatableResponse::Pagination

Inherits:
Object
  • Object
show all
Defined in:
lib/tableau_server_client/paginatable_response.rb

Class Method Summary collapse

Instance Method Summary collapse

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

Returns:

  • (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_paramsObject



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_numberObject



45
46
47
# File 'lib/tableau_server_client/paginatable_response.rb', line 45

def page_number
  @page_number.to_i
end

#page_sizeObject



49
50
51
# File 'lib/tableau_server_client/paginatable_response.rb', line 49

def page_size
  @page_size.to_i
end

#total_availableObject



53
54
55
# File 'lib/tableau_server_client/paginatable_response.rb', line 53

def total_available
  @total_available.to_i
end