Skip to content

Instantly share code, notes, and snippets.

@kasima
kasima / gist:979259
Created May 18, 2011 18:57
Making your js testable
// From http://front-end-testing-talk.elabs.se/
// Seen at RailsConf 2011
// Typical jQuery
$('#whiskies li').each(function() {
var li = $(this);
var price = li.attr('data-price');
var addLink = $('<a class="add-to-cart" href="#">Add to cart</a>');
addLink.appendTo(li);
@kasima
kasima / gist:957582
Created May 5, 2011 18:21
Mongoid $or bug
class Parent
include Mongoid::Document
field :pants
field :shirts
embeds_many :children
end
class Child
include Mongoid::Document
@kasima
kasima / gist:941464
Created April 25, 2011 23:17
Mongo Office Hours
class DiagnosticReport
include Mongoid::Document
embeds_many :marker_values
end
class MarkerValue
include Mongoid::Document
@kasima
kasima / escaped_unicode.rb
Created March 2, 2011 00:48
Generate unicode escape strings
def escaped_unicode(s)
s.unpack("U*").map do |v|
if v == 10
'\n'
elsif v < 256
v.chr
else
'\u{'+v.to_s(16)+'}'
end
end.join
@kasima
kasima / gist:830977
Created February 17, 2011 04:26
Mongoid references_and_referenced_in association assignment bug
class Game
include Mongoid::Document
field :title
references_and_referenced_in_many :players
end
class Player
include Mongoid::Document
field :name
@kasima
kasima / gist:830974
Created February 17, 2011 04:24
Mongoid destroy references_and_referenced_in_many bug
class Game
include Mongoid::Document
field :title
references_and_referenced_in_many :players
end
class Player
include Mongoid::Document
field :name
@kasima
kasima / gist:797650
Created January 26, 2011 22:36
1:1 and 1:many to same class
class Game
include Mongoid::Document
field :title
referenced_in :dungeon_master, :class_name => 'User'
references_and_referenced_in :players, :class_name => 'User'
end
class User
include Mongoid::Document
@kasima
kasima / gist:797594
Created January 26, 2011 22:12
Mongoid::Matchers.matches? bug
class Game
include Mongoid::Document
field :title
references_and_referenced_in_many :players
end
class Player
include Mongoid::Document
field :name
@kasima
kasima / double_closures.py
Created October 18, 2010 09:42
Favorite piece of code I wrote last week
# double closures - what does it mean!?
def if_braintree_disabled(default):
def generate_decorator(f):
def decorator(*args, **kwargs):
if not settings.LIVE_SITE and not settings.BRAINTREE_ENABLED:
return default
else:
return f(*args, **kwargs)
return decorator
return generate_decorator
<html>
<head>
</head>
<body>
</body>
<script type="text/javascript">
function dump_object(obj, seed) {
var s = seed;
s += "<p>" + obj + "</p>";