UNPKG

gem-count

Version:

Fetch a user's gem count from Rubygems

40 lines (35 loc) 857 B
// Generated by CoffeeScript 1.6.3 var count, promise, request; promise = require('when'); request = require('request'); count = function(user) { var api, deferred, fetch, getUrl, process; api = 'https://rubygems.org/api/v1/owners/:user/gems.json'; deferred = promise.defer(); getUrl = function(user) { if (user == null) { user = ''; } return api.replace(':user', user); }; fetch = function() { var url; url = getUrl(user); return request({ uri: url }, process); }; process = function(error, res, body) { var gems; if (error || body.charAt(0) !== '[') { return deferred.reject(error || body); } else { gems = JSON.parse(body); count = gems.length || 0; return deferred.resolve(count); } }; fetch(); return deferred.promise; }; module.exports = count;