Instantly share code, notes, and snippets.

View tz_identifiers_to_rails_identifiers.rb
# blog post: http://blog.slashpoundbang.com/post/2613268281/changing-from-tz-database-identifiers-to-rails-friendly
{
"Australia/Adelaide" => "Adelaide",
"Australia/Broken_Hill" => "Adelaide",
"America/Anchorage" => "Alaska",
"America/Juneau" => "Alaska",
"America/Nome" => "Alaska",
"America/Yakutat" => "Alaska",
"Pacific/Gambier" => "Alaska",
"Asia/Almaty" => "Almaty",
View poolboy_demo.ex
defmodule HttpRequester do
use GenServer
def start_link(_) do
GenServer.start_link(__MODULE__, nil, [])
end
def fetch(server, url) do
# Don't use cast: http://blog.elixirsips.com/2014/07/16/errata-dont-use-cast-in-a-poolboy-transaction/
timeout_ms = 10_000
View config-initializers-resque_failure.rb
require 'resque/failure/multiple'
require 'resque/failure/redis'
require 'resque_failure_honeybadger'
Resque::Failure::Multiple.classes = [
Resque::Failure::Redis,
Resque::Failure::Honeybadger
]
Resque::Failure.backend = Resque::Failure::Multiple
View git-submodule-rm.sh
#!/bin/bash
function actual_path() {
if [ [ -z "$1" ] -a [ -d $1 ] ]; then
echo $(cd $1 && test `pwd` = `pwd -P`)
return 0
else
return 1
fi
}
View my_sinatra_app.rb
require 'rubygems'
require 'bundler'
Bundler.require(:default, (ENV['RACK_ENV'] || "development").to_sym)
View example_output.txt
--------------------------------------------------
lib/foo.rb:22:in `save'
# foo.book
>> REQUEST:
{
"CashBook_Book": {
"cashBookHandle": {
"Number": "14"
View gist:1296042
# Sort lexicographically, but sorting numbers into their proper position.
#
class Array
def sort_preserving_numbers
sort_by { |x|
x.split(/(\d+)/).
map { |piece| piece.match(/\d/) ? piece.to_i : piece }
}
end
end
View will_paginate.rb
# https://gist.github.com/1214011
module WillPaginate
module ActionView
def will_paginate(collection = nil, options = {})
options[:renderer] ||= BootstrapLinkRenderer
super.try :html_safe
end
class BootstrapLinkRenderer < LinkRenderer
View aws_zone.rb
def aws_zone
[ ["east", "d"], ["west", "c"] ].inject([]) do |array, (zone, max)|
'a'.upto(max) { |letter| array << "us-#{zone}-1#{letter}" }
array
end.sample
end
View .bashrc
# Call grep, with stdin closed if it is a terminal.
#
# Avoids the "eternal wait" problem when you've forgotten
# to specify a filename.
function grep { (tty -s && exec <&-; $(which grep) $@); }