Skip to content

Instantly share code, notes, and snippets.

@devpuppy
devpuppy / vcmp.sh
Created October 27, 2014 17:47
utilities for comparing version strings on OS X
#!/bin/bash
# accepts as many version strings as you like
# returns them in order, one per line, highest first
function vseq()
{
# collect arbitrary number of args
while [ -n "$1" ]; do
args="$args$1,"
shift
@devpuppy
devpuppy / luminosity_constrast_ratio.rb
Created March 25, 2015 21:26
Calculate the Luminosity Contrast Ratio between two colors for readability
# http://andora.us/blog/2011/03/03/choosing-foreground-using-luminosity-contrast-ratio/
# color contrast ratio ranges from 1 (least) to 21 (most, white/black)
class Color
attr_reader :r, :g, :b
def initialize(hex)
raise 'Invalid hex code' unless hex =~ /[0-9a-f]{6}/i
hexes = hex.scan /.{2}/
@r,@g,@b = hexes.map { |h| h.hex.to_i }
end
@devpuppy
devpuppy / hosted.js
Last active August 29, 2015 14:20
eval gist
alert(window.location.pathname);
@devpuppy
devpuppy / gist.js
Last active August 29, 2015 14:20
Tools for working with JavaScript gists
function ajax(url, callback) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
callback(xhr.responseText);
}
}
xhr.open('GET', url, true);
xhr.send();
}
@devpuppy
devpuppy / gist:67390
Created February 20, 2009 09:20
The basics of the gist.github.com API
@gists = YAML::load Net::HTTP.get(URI.parse(GIST_URL))
@devpuppy
devpuppy / test_helper.rb
Created December 7, 2009 19:26
[deprecated] hackish way to use Test::Unit with Devise
# very basic test_helper.rb addition to work with devise
def login_as(user)
if user.is_a?(Symbol)
user = Factory(user)
user.save
end
@request.session[:user] = user
end
@devpuppy
devpuppy / helper.rb
Created December 8, 2009 17:20
Per-template javascript include tag
# useful for organizing unobtrusive javascript per template
# assumes layout has yield :javascripts
# need to figure out how to invoke from the template without explicitly having to call it
def javascript_template_include_tag
javascript_path = "views/#{@template.template.path_without_format_and_extension}.js"
if File.exist?(File.join(RAILS_ROOT, 'public', 'javascripts', javascript_path))
content_for :javascripts do
javascript_include_tag javascript_path
end
end
def disable_rubygems; nil; end
def source(s); $src = s unless s[/gemcutter/] end
def gem(n, v)
if Hash === v
$stderr.puts "ignoring git gem #{n}"
return
end
puts "#{n} --version '#{v}' #{$src ? " -s#{$src}": ""}"
end
load ARGV[0] || "Gemfile"
@devpuppy
devpuppy / .autotest
Created March 12, 2010 21:04 — forked from dust3d/gist:330740
.autotest
# on Ruby 1.9.1...
# gem install test-unit -v 1.2.3
# gem install autotest redgreen autotest-fsevent autotest-rails ZenTest autotest-growl
require 'redgreen'
Autotest.send(:alias_method, :real_ruby, :ruby)
Autotest.send(:define_method, :ruby) do |*args|
real_ruby + %[ -rrubygems -e "require 'redgreen'" ]
end
@devpuppy
devpuppy / .bash_profile
Created March 14, 2010 21:19
.bash_profile
PATH=$PATH:/opt/local/bin
export PATH
alias be='mate -w ~/.bash_profile;source ~/.bash_profile'
# alias ss='script/server'
# alias sc='script/console'
alias rdm='rake db:migrate'
alias glg='gem list |grep'
alias rrg='rake routes |grep'