lib/intercom/user_collection_proxy.rb in intercom-0.1.7 vs lib/intercom/user_collection_proxy.rb in intercom-0.1.8
- old
+ new
@@ -12,16 +12,25 @@
# Intercom::User.all.each do |user|
# puts user.inspect
# end
#
class UserCollectionProxy
+
+ QUERYABLE_ATTRIBUTES = [:tag_id, :tag_name]
+
+ attr_accessor :query
+
+ def initialize(attributes={})
+ self.query = attributes.reject{ |key, value| !QUERYABLE_ATTRIBUTES.include?(key) }
+ end
+
# yields each {User} to the block provided
# @return [void]
def each(&block)
page = 1
fetch_another_page = true
while fetch_another_page
- current_page = Intercom.get("/v1/users", {:page => page})
+ current_page = Intercom.get("/v1/users", query.merge({:page => page}))
current_page["users"].each do |user|
block.call User.from_api(user)
end
page = page + 1
fetch_another_page = !current_page["next_page"].nil?