Skip to content

Instantly share code, notes, and snippets.

@davidbiehl
davidbiehl / gist:92920ad5d9be9892f8bc
Created May 28, 2014 19:30
Waiting for multiple AJAX requests, the latter is conditional
new RSVP.promise(function(resolve, reject) {
var promise = new RSVP.promise(function(resovle, reject) {
request({
dataType: 'json',
url: window.ENV.prependHost + "/sa/api/v2/auth"
})
.then(resolve) // if the first is a success, just resolve!
.catch(function() { // not a success, trying again
request({
dataType: 'json',
@davidbiehl
davidbiehl / queryString.js
Created May 23, 2014 22:06
Query string to Object conversion in JavaScript
define([], function() {
/*
Public: Returns the query string decoded as an Object
queryArg - a String that is a query string. eg: "one=1&two=2&three"
Returns an Object
*/
return function(queryArg) {
var query = queryArg || window.location.search.substring(1);
@davidbiehl
davidbiehl / paged_enumerator.rb
Last active August 29, 2015 14:01
PagedEnumerator for processing paginated API responses
# Public: Abstracts pagination into an Enumerator so all of the objects for
# a given response can be retreived without having to know that they were
# split into pages from the server
#
# Examples
#
# orders = client.get("orders", limit: 10)
#
# paged = PagedEnumerator.new(orders) do |response, yielder|
# response.body["orders"].each do |obj|