Skip to content

Instantly share code, notes, and snippets.

View joelhooks's full-sized avatar
🍄

Joel Hooks joelhooks

🍄
View GitHub Profile
@joelhooks
joelhooks / thumbScroller.as
Created May 20, 2012 03:39
ever scrolling thumbnails
/**
* @private
*/
protected function mouseClickHandler(event:MouseEvent):void
{
selectedItem=item.data;
moveSelectedThumbToCenter();
}
@joelhooks
joelhooks / sitemap_generator.rb
Created July 25, 2012 22:28
Upgrading to Octopress
fill_pages(site, urlset)
fill_legacy(urlset)
sitemap.add_element(urlset)
# File I/O: create sitemap.xml file and write out pretty-printed XML
unless File.exists?(site.dest)
FileUtils.mkdir_p(site.dest)
end
file = File.new(File.join(site.dest, SITEMAP_FILE_NAME), "w")
formatter = REXML::Formatters::Pretty.new(4)
@joelhooks
joelhooks / AnotherBloatedDateTest.js
Created November 17, 2012 17:04
Custom Jasmine Matchers
it("convertToSplitDate should turen a Date into a split date", function() {
var date = new Date(2012, 10, 17),
splitDate = dateUtil.convertDateToSplitDate(date);
expect(splitDate).toBeDefined();
expect(splitDate.year).toBe(date.year);
expect(splitDate.month - 1).toBe(date.month);
expect(splitDate.day).toBe(date.day);
});
@joelhooks
joelhooks / pgessays.py
Created November 18, 2012 23:02 — forked from olasitarska/pgessays.py
Builds epub book out of Paul Graham's essays.
# -*- coding: utf-8 -*-
"""
Builds epub book out of Paul Graham's essays: http://paulgraham.com/articles.html
Author: Ola Sitarska <ola@sitarska.com>
This script requires python-epub-library: http://code.google.com/p/python-epub-builder/
"""
import re, ez_epub, urllib2, genshi
var machine = {
initial: 'state/STARTING',
states: [
{
name: 'state/STARTING',
transitions: [
{
action: 'action/completed/STARTED',
target: 'state/CONSTRUCTING' //name of the state to move to when event received
},
@joelhooks
joelhooks / dispatcher.js
Last active December 14, 2015 20:59
This is a port of a port. Very basic finite state machine. Requires underscore.
//this is an event dispatcher at its bare minimum.
var EventDispatcher;
(function () {
"use strict";
/**
* Minimal event dispatcher
* @see http://stackoverflow.com/q/7026709/87002
* @constructor
*/
module.directive('validatePhone', function () {
return {
require: 'ngModel',
link: function (scope, elem, attr, ngModel) {
function validatePhone(field) {
//regex squirreled from here: http://blog.stevenlevithan.com/archives/validate-phone-number
var regexObj = /^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/;
return regexObj.test(field);
@joelhooks
joelhooks / angularServices.js
Last active December 21, 2015 04:39
Short example of how to declare services in AngularJS.
//from most to least verbose, but it is all the same in the end.
(function() {
var module = angular.module("myApp.myModel", []);
var MyModel = function MyModel() {
this.asyncService = null;
this.someApi = function() {
Run options: exclude {:org=>true}
......FFFF.FF.F
Failures:
1) Quarto::Build stripping source code should eq "puts \"hello, world\nif true\n puts \"goodbye, world\nend\n"
Failure/Error: expect(build.strip_listing(code)).to eq(<<END)
expected: "puts \"hello, world\nif true\n puts \"goodbye, world\nend\n"
got: "puts \"hello, world\n if true\n puts \"goodbye, world\n end"
$scope.subscriptions = _.map(_.sortBy(_.filter(subscriptions, function(sub) {
return sub.transactions && sub.transactions.length;
}), function(sub) {
return _.last(sub.transactions).created_at;
}), function(sub) {
var last_transaction = _.last(sub.transactions),
totals = _.reduce(sub.transactions, function (memo, t) {
return memo + t.amount/100.0;
}, 0);