Skip to content

Instantly share code, notes, and snippets.

@bendrucker
bendrucker / a.js
Created February 20, 2014 21:24
Initializing databases with Bookshelf
var i = 0;
module.exports = ++i;
define(['EventEmitter', 'bluebird'], function (EventEmitter, Promise) {
'use strict';
EventEmitter.prototype.emitThen = function (event) {
var args = Array.prototype.slice(arguments, 1);
return Promise
.bind(this)
.thenReturn(this._events[event] || [])
Error in user YAML: (<unknown>): mapping values are not allowed in this context at line 8 column 9
---
parent: model
name: set
type: 'method'
arguments:
  - attributes:
    type: object
  - options
    type: object
---
ActualModel = ModelBase.extend({
related: function() {this.hasOne(OtherModel);}
});
@bendrucker
bendrucker / model.coffee
Created December 3, 2013 23:32
./db exports a Bookshelf instance
'use strict'
DB = require './db'
class Model extends DB.Model
constructor: ->
super
if typeof @authorize is 'function'
@on 'saving', @authorize
@bendrucker
bendrucker / test.coffee
Created December 3, 2013 21:54
Here's how you'd do relatively complex testing the right way. Uses chai-as-promised and mocha-as-promised.
'use strict'
expect = require('chai').expect
Sinon = require 'sinon'
Promise = require 'bluebird'
Bookshelf = require '../../lib/db'
Model = require '../../lib/model'
describe 'Models', ->
@bendrucker
bendrucker / style.css
Created December 6, 2012 06:44
Here's how to set up a background in CSS
body {
background: url('/path/to/image.png');
}