Skip to content

Instantly share code, notes, and snippets.

@focusaurus
focusaurus / closures.coffee
Created October 15, 2011 02:01
Closures in coffeescript
makeLogger = (prefix) ->
(message) -> console.log "#{prefix.toUpperCase()}: #{message}"
fooLogger = makeLogger 'foo'
barLogger = makeLogger 'bar'
fooLogger n for n in [1..10]
barLogger n for n in [1..10]
fooLogger n for n in [11..20]
@focusaurus
focusaurus / default.rb
Created August 19, 2011 21:58
Chef Recipe
require 'rubygems'
require 'json'
CONF_PATH = '/tmp/clouddial_conf.json'
cookbook_file CONF_PATH do
source File.basename CONF_PATH
mode '0444'
backup false
end
@focusaurus
focusaurus / debug.coffee
Created March 30, 2011 03:14
CoffeeScript Introspection Function
debug = (obj, seen)->
printProps = (obj)->
#Edge case to handle is [1,2,3][9] = 'foo'
#Need to factor the conditional out to check if the prop is a number less
#than the array's length
return ((if ! /^\d+$/.test prop then prop + ": " + debug(obj[prop], seen) \
else '') for prop of obj).join(', ')
seen = seen or []
if obj in seen