Skip to content

Instantly share code, notes, and snippets.

View myndzi's full-sized avatar

Kris Reeves myndzi

  • Sigma Bold
  • Olympia, WA
View GitHub Profile
@myndzi
myndzi / gist:11299120
Created April 25, 2014 18:40
Get list of files in directory matching mask, excluding directories, with Bluebird
return Promise.promisify(fs.readdir)(config.path).filter(function (fileName) {
return config.mask.test(fileName);
}).map(function (fileName) {
var fullPath = path.join(config.path, fileName);
return Promise.promisify(fs.stat)(fullPath).tap(function (stat) {
stat.fullPath = fullPath;
stat.fileName = fileName;
});
}).filter(function (stat) {
return stat.isFile();
'use strict';
var Transform = require('stream').Transform,
inherits = require('util').inherits;
module.exports = ThrottleStream;
function ThrottleStream(opts) {
if (!(this instanceof ThrottleStream))
return new ThrottleStream(opts);
'use strict';
var Transform = require('stream').Transform,
inherits = require('util').inherits;
var noBuf = new Buffer(0);
module.exports = LineStream;
function LineStream(opts) {
/* jshint node: true */
"use strict";
var Promise = require('bluebird');
var crypto = require('crypto');
var dgram = require('dgram');
var events = require('events');
var fs = require('fs');
var srp = require('srp');
var util = require('util');
var Promise = require('bluebird'),
redis = require('redis');
var db = redis.createClient();
Promise.promisifyAll(Object.getPrototypeOf(redis), { suffix: '$' });
function _scan(cmd, key) {
function recurse(ttl, cur) {
return cmd(key, cur).then(function (cur, val) {
if (cur) {
var Promise=require('bluebird');
var SerialPort = require("serialport").SerialPort
var openedPort=false;
var puerto;
var Serial = function(puerto) {
var self = this;
self.openedPort = false;
//crea un objeto serialport, abre el puerto
// config.amqp = connection parameters
var worker = new Worker(
extend({ }, {
exchange: 'exchange',
bindings: {
'exchange': [
// queue we process from
'class.method.job',
'class.method.settled'
]
@myndzi
myndzi / gist:03eb5c42e8385470403c
Created June 21, 2014 17:22
How to use Sequelize with a UNIX domain socket
var sequelize = new Sequelize('postgres:/tmp');
var CM = sequelize.transactionManager.ConnectorManager;
sequelize.transactionManager.ConnectorManager = function (sequelize, config) {
var cm = new CM(sequelize, config);
cm.pg.defaults.database = 'database_name';
return cm;
}
sequelize.getQueryInterface().QueryGenerator
var pg = require('pg');
var request = require('request');
var Promise = require('bluebird'); // version 2.0!
// pg interface is a bit awkward to promisify
var connect = Promise.promisify(pg.connect, pg);
pg.connect = function (connString) {
return connect(connString).spread(function (client, done) {
client.done = done;
Promise.promisify(client, { suffix: '$' });
@myndzi
myndzi / gist:75bd45ef8b88ff3467e4
Last active August 29, 2015 14:03
Multipart/form-data POST
HTML:
<form action="/api/thing" method="post" enctype="multipart/form-data">
<input name="caption">
<input type="file" name="file">
<input type="submit" value="Submit">
</form>
Request: