Sha256: 57966e84284e45b8eeb59e3d17a7a8e3aa01851dd5a7a94e2cfd38ff4db10b8f
Contents?: true
Size: 1.84 KB
Versions: 4
Compression:
Stored size: 1.84 KB
Contents
unless typeof define is 'function' and define.amd module = @GooglePlus ||= {} @define = (name, deps, callback) -> module.Reader = callback(jQuery) define 'googleplus.reader', ['jquery'], ($) -> class constructor: (options) -> @id = options.id @key = options.key @reset() reset: -> @token = null @collection = [] @position = 0 return find: (id) -> deferred = $.Deferred() @get(id) .done (result) => deferred.resolve(@process([result])) return .fail (details...) => deferred.reject(details...) return deferred.promise() next: (count) -> deferred = $.Deferred() nextPosition = @position + count if nextPosition <= @collection.length elements = @collection.slice(@position, nextPosition) @position = nextPosition deferred.resolve(elements) else @list() .done (result) => @collection.push(item) for item in @process(result.items) nextPosition = Math.min(nextPosition, @collection.length) elements = @collection.slice(@position, nextPosition) @position = nextPosition deferred.resolve(elements) return .fail (details...) => deferred.reject(details...) return deferred.promise() get: (id) -> url = "https://www.googleapis.com/plus/v1/activities/#{id}?key=#{@key}" $.ajax(url: url, crossDomain: true, dataType: 'jsonp') list: -> url = "https://www.googleapis.com/plus/v1/people/#{@id}/activities/public?key=#{@key}" url = "#{url}&pageToken=#{@token}" if @token $.ajax(url: url, crossDomain: true, dataType: 'jsonp').done (result) => @token = result.nextPageToken return process: (items) -> items
Version data entries
4 entries across 4 versions & 1 rubygems