Skip to content

Instantly share code, notes, and snippets.

View mde's full-sized avatar

Matthew Eernisse mde

View GitHub Profile
@mde
mde / gist:3454410
Created August 24, 2012 19:02
Highlight Jake files as JS
" JS syntax for Jakefiles
au BufRead,BufNewFile Jakefile set filetype=javascript
" JS syntax for .jake files
au BufRead,BufNewFile *.jake set filetype=javascript
@mde
mde / gist:3388411
Created August 18, 2012 17:04
Associations for JS Model
// User, hasOne Profile
var u = User.create({
login: 'asdf'
, password: 'zerb'
, confirmPassword: 'zerb'
});
// Owner has to be saved to add an association
u.save(function (err, data) {
if (err) {
throw err;
@mde
mde / gist:2689923
Created May 13, 2012 19:50 — forked from johnmdonahue/gist:2671849
How to handle pre-req flow using Jake.exec
var spawn = require('child_process').spawn;
desc('Do thing 1');
task('thing1', [], function () {
var cmds = ['node -e "console.log(\'--> Thing 1... Executing\')"'];
console.log('--> Thing 1... Starting');
jake.exec(cmds, function () {
var echo = spawn('echo',
> var foo = {a: function () { console.log(this.b); }, b: true};
> foo.b;
true
> foo.a;
[Function]
> foo.a();
true
> var bar = foo.a;
> foo;
{ a: [Function], b: true }
// $('myDiv').bind('click', $.proxy(this.myFunc, this));
@mde
mde / gist:1050068
Created June 27, 2011 22:58
Async JSGI
var Response = require('ringo/webapp/response').Response
, Request = require('ringo/webapp/request').Request
, defer = require('ringo/promise').defer
, jsdeps = require('../jsdeps/index')
, setTimeout = require('ringo/scheduler').setTimeout;
exports.packages = function(req) {
var response = defer()
, params
, prereqs
js> isNaN(null);
false
js> null > -1;
true
js> null < 1;
true
js> null > 0;
false
js> null < 0;
false
js> null > -1;
true
js> null < 1;
true
js> null > 0;
false
js> null < 0;
false
js> null == 0;
false
@mde
mde / gist:1005311
Created June 2, 2011 20:57
JS inheritance stuff
var MyThing = function () {
this.a = function () {
};
this.b = [];
this.c = 'foo';
};
MyThing.prototype = new (function () {
var MY_SETTING = 2112;
var _myPrivateFunc = function () {
var assertImageLoaded = function (img) {
var complete = img.complete;
// Workaround for Safari -- it only supports the
// complete attrib on script-created images
if (typeof complete == 'undefined' || complete === false) {
var test = new Image();
// If the original image was successfully loaded,
// src for new one should be pulled from cache
test.src = img.src;
complete = test.complete;