UNPKG

1.23 kBJavaScriptView Raw
1// Generated by CoffeeScript 1.10.0
2(function() {
3 var request, search;
4
5 request = require('request');
6
7 search = function(opts) {
8 var crystal, name;
9 crystal = this;
10 if (typeof opts === 'object') {
11 if (opts._ && opts._[1]) {
12 name = opts._[1];
13 } else if (opts.name) {
14 name = opts.name;
15 }
16 } else if (typeof name === 'string') {
17 name = opts;
18 }
19 if (!name) {
20 throw new Error("'name' is required for crystal search");
21 }
22 console.log("Searching for generators matching name (" + name + ")...");
23 return request.get({
24 qs: {
25 name: "%" + name + "%"
26 },
27 url: crystal.url('api', 'modules')
28 }, function(err, resp, body) {
29 var i, len, mod, modules, results;
30 if (err || resp.statusCode !== 200) {
31 throw new Error('Search failed.');
32 }
33 modules = JSON.parse(body);
34 console.log("Found " + modules.length + " generator(s)!");
35 results = [];
36 for (i = 0, len = modules.length; i < len; i++) {
37 mod = modules[i];
38 results.push(console.log("- " + mod.Collection.name + "." + mod.name));
39 }
40 return results;
41 });
42 };
43
44 module.exports = search;
45
46}).call(this);