Tested against my own gmail account, which has 536 contacts. Only 165 were actually returned. I looked to see if there was a paging mechanism or built-in limitation in the code and couldn't find one, so please forgive me if I missed it.
I got similar results - not all contacts were retrieved.
I am looking into gdata gem now. maybe it's not using the recent google API?
I removed the if expression from this line and now I see all my contacts:
email = e.attribute('address').value if e.attribute('primary')
FWIW: I was having a similar issue and found a default limit of 200, but we forked a while back and are using 0.2.6 (see Contacts::Google.)
Checking the latest as of right now, it seems that the number of contacts is determined by the 'max-results' param.