This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var arr = ['a', 'b', 'c']; | |
| for (i in arr) { | |
| if (i === 0) { | |
| console.log('do something special') | |
| } | |
| } | |
| // sadly, that console.log never happens |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ~/Code/scripts | |
| เฒ _เฒ node -e 'require("http").createServer(function(q,s){console.error(q.headers);s.end("ok");this.close()}).listen(1337)' & | |
| [1] 50947 | |
| ~/Code/scripts | |
| เฒ _เฒ cat foo.py #!/usr/bin/env python | |
| import urllib | |
| response = urllib.urlopen("http://localhost:1337") | |
| print response |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /Users/crabasa/Code/tmp/votr-part3/node_modules/nano/node_modules/errs/lib/errs.js:167 | |
| merged.stacktrace = err.stack.split("\n"); | |
| ^ | |
| TypeError: Object fabric_doc_update:handle_message/3,rexi_utils:process_mailbox/6,rexi_utils:recv/6,fabric_doc_update:go/3,fabric:update_docs/3,chttpd_db:db_req/2,chttpd:handle_request/1,mochiweb_http:headers/5 has no method 'split' | |
| at Object.exports.merge (/Users/crabasa/Code/tmp/votr-part3/node_modules/nano/node_modules/errs/lib/errs.js:167:33) | |
| at Request._callback (/Users/crabasa/Code/tmp/votr-part3/node_modules/nano/nano.js:311:28) | |
| at Request.init.self.callback (/Users/crabasa/Code/tmp/votr-part3/node_modules/nano/node_modules/request/main.js:122:22) | |
| at Request.EventEmitter.emit (events.js:91:17) | |
| at Request.<anonymous> (/Users/crabasa/Code/tmp/votr-part3/node_modules/nano/node_modules/request/main.js:661:16) | |
| at Request.EventEmitter.emit (events.js:115:20) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| voteCounts = exports.voteCounts = function(event, callback) { | |
| db.view('event', 'all', {startkey: [event._id], endkey: [event._id, {}, {}], group_level: 2}, function(err, body) { | |
| if (err) { | |
| callback(err); | |
| } | |
| else { | |
| // populate count for voteoptions | |
| event.voteoptions.forEach(function(vo, i){ | |
| var found = _und.find(body.rows, function(x) {return x.key[1] == vo.id}); | |
| vo['votes'] = (found? found.value : 0); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| findByPhonenumber = exports.findByPhonenumber = function(phonenumber, callback) { | |
| findBy('byPhonenumber', {key: phonenumber}, function(err, event) { | |
| if (err) { | |
| callback(err, null); | |
| } | |
| else { | |
| findBy('all', {key: [event._id], reduce: false}, callback); | |
| } | |
| }); | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| findBy = exports.findBy = function(view, params, callback) { | |
| var event; | |
| if (event = eventsCache[view+JSON.stringify(params)]) { | |
| callback(null, event); | |
| } | |
| else { | |
| db.view('event', view, params, function(err, body) { | |
| if (err) { | |
| console.log(err); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| saveVote = exports.saveVote = function(event, vote, from) { | |
| // The _id of our vote document will be a composite of our event_id and the | |
| // person's phone number. This will guarantee one vote per event | |
| var voteDoc = { | |
| _id: 'vote:' + event._id + ':' + from, | |
| type: 'vote', | |
| event_id: event._id, | |
| event_phonenumber: event.phonenumber, | |
| vote: vote, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| flushVotes = function() { | |
| var votesToSave = _und.values(votesCache); | |
| votesCache = {}; | |
| if (votesToSave.length > 0) { | |
| db.bulk({docs: votesToSave}, function(err, body) { | |
| if (err) { | |
| console.log("Failed to save votes, popping them back on the cache"); | |
| votesToSave.forEach(function(v) { | |
| votesCache[v._id] = v; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { "_id": "123", | |
| "shortname": "demo", | |
| "name": "My Cool Demo Event", | |
| "phonenumber": "+15555551212", | |
| "state": "on", | |
| "voteoptions": [ | |
| { "id": 1, "name": "foo", "votes": 2, "numbers": ["+15555551111", "+15555552222"] }, | |
| { "id": 2, "name": "bar", "votes": 0, "numbers": [] }, | |
| { "id": 3, "name": "baz", "votes": 1, "numbers": ["+1555555333"] }] | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { "_id": "event:demo", | |
| "type": "event", | |
| "shortname": "demo", | |
| "name": "My Cool Demo Event", | |
| "phonenumber": "+15555551212", | |
| "state": "on", | |
| "voteoptions": [{ "id": 1, "name": "foo"}, { "id": 2, "name": "bar"}, { "id": 3, "name": "baz"}] | |
| } | |
| { "_id": "vote:event:demo:+15555551111", |