diff --git a/server.js b/server.js index bacef08..ccd4e41 100644 --- a/server.js +++ b/server.js @@ -2028,6 +2028,32 @@ cache(function(data, match, sendBadge, request) { }); })); +camp.route(/^\/cocoapods\/metrics\/doc-percent\/(.*)\.(svg|png|gif|jpg|json)$/, +cache(function(data, match, sendBadge, request) { + var spec = match[1]; // eg, AFNetworking + var format = match[2]; + var apiUrl = 'http://metrics.cocoapods.org/api/v1/pods/' + spec; + var badgeData = getBadgeData('pod', data); + badgeData.colorscheme = null; + request(apiUrl, function(err, res, buffer) { + if (err != null) { + badgeData.text[1] = 'inaccessible'; + sendBadge(format, badgeData); + } + try { + var data = JSON.parse(buffer); + var percentage = data.cocoadocs.doc_percent; + badgeData.colorscheme = coveragePercentageColor(percentage); + badgeData.text[0] = 'docs'; + badgeData.text[1] = percentage + '%' + sendBadge(format, badgeData); + } catch(e) { + badgeData.text[1] = 'invalid'; + sendBadge(format, badgeData); + } + }); +})); + // GitHub tag integration. camp.route(/^\/github\/tag\/([^\/]+)\/([^\/]+)\.(svg|png|gif|jpg|json)$/, cache(function(data, match, sendBadge, request) { diff --git a/try.html b/try.html index 13c2df6..d206ce8 100644 --- a/try.html +++ b/try.html @@ -518,6 +518,10 @@ Pixel-perfect   Retina-ready   Fast   Consistent   Hackable https://img.shields.io/cocoapods/p/AFNetworking.svg + CocoaPods: + + https://img.shields.io/cocoapods/metrics/doc-percent/AFNetworking.svg + Wheelmap: https://img.shields.io/wheelmap/a/2323004600.svg