class VkGroupParser::NavigableGroupManager

Public Class Methods

new(group_manager, per_page) click to toggle source
# File lib/vk_group_parser/navigable_group_manager.rb, line 3
def initialize(group_manager, per_page)
  @group_manager = group_manager
  @all_pages_count = calc_all_pages_count(group_manager, per_page)
  @per_page = per_page
  @page = 0
end

Public Instance Methods

get_next_members() click to toggle source
# File lib/vk_group_parser/navigable_group_manager.rb, line 14
def get_next_members
  p = @page
  @page += 1
  @group_manager.get_members(@per_page, @per_page * p)[:items]
end
has_next?() click to toggle source
# File lib/vk_group_parser/navigable_group_manager.rb, line 10
def has_next?
  @page < @all_pages_count
end

Private Instance Methods

calc_all_pages_count(group_manager, per_page) click to toggle source
# File lib/vk_group_parser/navigable_group_manager.rb, line 21
def calc_all_pages_count(group_manager, per_page)
  members_count = group_manager.get_members(1, 0)[:count]
  (members_count.to_f/per_page).ceil
end