Skip to content

Instantly share code, notes, and snippets.

@domkm
domkm / default.css
Last active January 9, 2021 16:09
Annotated LightTable Theme
/* LightTable themes are just CSS. LightTable, CodeMirror, and plugins apply
classes to tokens within the text. Most of these classes are undocumented. I
had to go fishing with the dev inspector and apply brightly colored rules to
figure it out. Hopefully I can save you the trouble by documenting the default
theme. Please comment if you find any errors or omissions. */
/* These #multi rules apply to tabsets. Active means currently selected and dirty
means that the file has been edited since the last save. */
#multi.theme-default .tabset .list .active { color:var(placeholder-fg); }
#multi.theme-default .tabset.active .list .active { color:var(highlight-fg); }
;;
;; NS CHEATSHEET
;;
;; * :require makes functions available with a namespace prefix.
;;
;; * :use makes functions available without a namespace prefix
;; (i.e., refers functions to the current namespace).
;;
;; * :import refers Java classes to the current namespace.
;;
@domkm
domkm / gist:5769839
Created June 12, 2013 22:54
delegate methods to a serialized hash
class Asset < ActiveRecord::Base
def self.data_delegate(*methods)
methods.each do |method|
define_method(method) { data.send "[]", method }
define_method("#{method}=") { |val| data.send "[]=", method, val }
end
end
end
@domkm
domkm / gist:3536189
Created August 30, 2012 18:13
Dev Bootcamp Birthday Torture
def happy_birthday(name, torture_level = 100)
hb = "Happy Birthday to You."
song = "#{hb} #{hb} Happy Birthday Dear #{name}. #{hb}"
song.chars.reduce do |memo, char|
%w[a e i o u y].include?(char) ? memo + char * torture_level : memo + char
end
end