lib/google_apps/transport.rb in google_apps-0.4.8 vs lib/google_apps/transport.rb in google_apps-0.4.8.1
- old
+ new
@@ -129,22 +129,21 @@
#
# get_users start: 'lholcomb2'
#
# get_users returns the final response from google.
def get_users(options = {})
- # TODO: Limit isn't working right. It stops the retrieval but not as soon as it should.
- @feeds, page = [], 0
+ @feeds, pages = [], 0
options[:limit] ? limit = options[:limit] : limit = 1000000
options[:start] ? get(@user + "?startUsername=#{options[:start]}") : get(@user)
add_feed
+ pages += 1
- while (next_page = get_next(@feeds.last.xml)) and (page * PAGE_SIZE[:user] < limit)
- get @feeds.last.next_page
- add_feed
- page += 1
+ while (@feeds.last.next_page) and (pages * PAGE_SIZE[:user] < limit)
+ get_next_page
+ pages += 1
end
@response
end
@@ -288,9 +287,15 @@
# Grab the auth token from the response body
def set_auth_token
@response.body.split("\n").grep(/auth=(.*)/i)
@token = $1
+ end
+
+
+ def get_next_page
+ get @feeds.last.next_page
+ add_feed
end
# add_feed adds a feed to the @feeds array.
def add_feed
\ No newline at end of file