Skip to content

Instantly share code, notes, and snippets.

View mde's full-sized avatar

Matthew Eernisse mde

View GitHub Profile
@mde
mde / gist:967610
Created May 11, 2011 23:20
HTML markdown viewer
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript" src="./showdown.js"></script>
<title>
Markdown Viewer
</title>
<style type="text/css">
var Foo = Ember.Object.extend({zerb: function () {}});
undefined
var bar = Foo.create();
undefined
JSON.stringify(bar);
"{}"
bar.set('asdf', 'ASDF');
Class {asdf: "ASDF", __ember1458770221107: null, __nextSuper: undefined, __ember_meta__: Object}
JSON.stringify(bar);
"{"asdf":"ASDF"}"
@mde
mde / gist:7810003
Last active December 30, 2015 09:29
"foo" task for creating a new Foo instance
task('foo', {async: true}, function () {
var f = geddy.model.Foo.create({title: 'zerb', description: 'frang'});
f.save(function (err, data) {
if (err) { throw err; }
geddy.model.Foo.all({id: f.id}, function (err, data) {
if (err) { throw err; }
console.log('Found foo', data[0].id);
geddy.model.Foo.first({id: f.id}, function (err, data) {
if (err) { throw err; }
console.log('Found foo again', data.id);
var
// $ npm install model@0.2.10
model = require( 'model'),
Adapter = require('./node_modules/model/lib/adapters/memory/').Adapter,
adapter = new Adapter({});
var User = function () {
this.adapter = adapter;
this.property('login', 'string', {required: true});
this.property('password', 'string', {required: true});
// Determine if `content` is a collection of models
else if(content instanceof Array) {
if(!type) {
throw new Error(
'Cannot determine model type from empty array, specify one in opts');
}
@mde
mde / gist:6223332
Created August 13, 2013 17:09
Two overlapping experiments
<%
var msg = '';
if (testA) {
msg += '<div>group</div>';
}
if (testB || testA) {
msg += '<div>conversation</div>';
}
%>
<%= msg; %>
@mde
mde / gist:6100679
Last active December 20, 2015 08:29 — forked from admc/gist:6100677
var User = function () {
this.hasMany('Messages');
this.hasMany('ConversationMemberships');
this.hasMany('Conversations', {through: 'ConversationMembership'});
};
var Conversation = function () {
this.hasMany('Messages');
this.hasMany('ConversationMemberships');
this.hasMany('Users', {through: 'ConversationMembership'});
@mde
mde / gist:6100608
Created July 28, 2013 22:52
Istanbul output
♢ cli
when given a config file
✓ should load the specified config file
when calling execute more than once
✓ should not print the results from previous execution
♢ eslint
@mde
mde / gist:6040868
Created July 19, 2013 17:23
geddy gen secret
mdes-mbp-2:work mde$ geddy gen app foo
Created app foo.
mdes-mbp-2:work mde$ cd foo/
mdes-mbp-2:foo mde$ geddy gen secret
Added app-secret to config/secrets.json.
DO NOT add this file into your revision control.
DO make a backup of it, keep it someplace safe.
mdes-mbp-2:foo mde$ geddy -v
0.9.8
@mde
mde / gist:5476069
Created April 28, 2013 06:14
Templater race
templater.addListener('data', function (data) {
// Buffer for now, but we could stream
content += data;
});
templater.addListener('end', function () {
if (self.params.action == 'test') {
if (content.indexOf('Hello') > -1) {
console.log(self.params.action);
throw new Error();
}