Skip to content

Instantly share code, notes, and snippets.

@rockwood
rockwood / gist:1562615
Created January 4, 2012 22:43
Everyauth findUserById
var UserSchema = new Schema({
email : String,
hashed_password : String,
first_name : String,
last_name : String,
salt : String,
auth_method : String,
signupDate : { type: Date, default: Date.now }
});
@rockwood
rockwood / app.js
Created February 10, 2012 20:29
Flatiron view loader
var flatiron = require('flatiron'),
path = require('path'),
plates = require('plates'),
app = flatiron.app;
app.config.file({ file: path.join(__dirname, 'config', 'config.json') });
app.use(flatiron.plugins.http);
app.use(require("./plugins/load"));
@rockwood
rockwood / server.js
Created July 19, 2012 16:22
Node Static File Server
var http = require('http');
var fs = require('fs');
var path = require('path');
var PORT = 3000;
var INDEX = './index.html';
http.createServer(function (request, response) {
console.log('request starting...');
require 'spec_helper'
describe Assignment do
describe "#percentage" do
specify do
assignment = Assignment.new(score: 5, total: 10)
expect(assignment.percentage).to eq(50)
end
end
@rockwood
rockwood / RailsResourceCollectionExtension.coffee
Last active August 29, 2015 14:01
RailsResourceCollectionExtension
angular.module("rails").factory "RailsResourceCollection", (_) ->
class RailsResourceCollection
constructor: (models=[]) ->
@models = models
angular.module("rails").factory "RailsResourceCollectionMixin", (RailsResourceCollection) ->
RailsResourceCollectionMixin = ->
RailsResourceCollectionMixin.extended = (Resource) ->
Resource.intercept "afterResponse", (result, resource, context) ->
@rockwood
rockwood / data
Last active August 29, 2015 14:17
Heroku new pg:backups data script
#!/bin/bash
set -x
set -e
DATABASE='YOUR_DEV_DATABASE'
HEROKU_APP='YOUR_HEROKU_APP'
dropdb ${DATABASE}
@rockwood
rockwood / gist:ea59c05b2378f5e73bb9
Created April 1, 2015 16:09
RSpec 3 Async Helpers
# Taken from https://gist.github.com/mattwynne/1228927
#
# usage:
# it "should return a result of 5" do
# eventually { long_running_thing.result.should eq(5) }
# end
#
module AsyncHelpers
def eventually(options = {})
timeout = options[:timeout] || 2
class TestServer
def initialize(options)
@server_port = options.fetch(:server_port)
@client_port = options.fetch(:client_port)
end
def start
@pid = spawn(command)
end
@rockwood
rockwood / bem.md
Created April 14, 2016 19:43
BEM Conventions

Dos:

Avoid page specific stylesheets

It's easy to organize styles by page when the app is small, but a year from now we'll probably have 50+ pages and having a separate stylesheet for each page will result in tons of duplication.

Use the grid as much as possible

The grid has a ton of feature and it's really customizable from variables.scss. Anywhere you're doing multi-column layouts, try to use the grid.

@rockwood
rockwood / Readme.md
Last active May 4, 2018 15:55
Seoul Elixir Meetup

1. Install Phoenix 1.3

mix archive.install https://github.com/phoenixframework/archives/raw/master/phx_new.ez

2. Create a new Phoenix project

mix phx.new demo

3. Create the database