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?