Skip to content

Instantly share code, notes, and snippets.

View henrik's full-sized avatar

Henrik Nyh henrik

View GitHub Profile
@henrik
henrik / gfm.rb
Created April 16, 2009 23:23 — forked from mojombo/gfm.rb
GitHub Flavored Markdown
# GitHub Flavored Markdown Layer
def fix_markdown_quirks(text)
# prevent foo_bar_baz from ending up with an italic word in the middle
text.gsub!(/(\w+_\w+_\w[\w_]*)/) do |x|
x.gsub('_', '\_') if x.split('').sort.to_s[0..1] == '__'
end
# in very clear cases, let newlines become <br /> tags
text.gsub!(/(\A|\n\n)(^\w[^\n]*\n)(^\w[^\n]*\n)+/m) do |x|
x.gsub(/^(.+)\n/, "\\1 \n")
=== Epic Snow Leopard Upgrayyyyd Guide ===
Son, you’re now living in the land of 64-bit systems.
That means that some of your 32-bit shit is now broken.
Not all is lost.
== Fixing MySQL weirdness
@henrik
henrik / .bashrc
Created July 15, 2010 06:15 — forked from filipsalomonsson/.bashrc
grep that doesn't wait forever for STDIN with unspecified filename.
# 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) $@); }
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
@henrik
henrik / will_paginate.rb
Created September 13, 2011 14:57 — forked from isaacbowen/will_paginate.rb
Extends will_paginate to play well with Twitter's Bootstrap (http://twitter.github.com/bootstrap/). Suggested location: config/initializers/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
# 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
@henrik
henrik / example_output.txt
Created January 16, 2012 16:32 — forked from joakimk/example_output.txt
Ruby on Rails initializer to log Savon SOAP XML as pretty JSON instead. Also show what line of code called it.
--------------------------------------------------
lib/foo.rb:22:in `save'
# foo.book
>> REQUEST:
{
"CashBook_Book": {
"cashBookHandle": {
"Number": "14"
@henrik
henrik / my_sinatra_app.rb
Created March 3, 2012 10:21 — forked from brandonweiss/gist:1965390
Avoid listing gem requirements both in Gemfile and app for e.g. Sinatra on Heroku (and locally).
require 'rubygems'
require 'bundler'
Bundler.require(:default, (ENV['RACK_ENV'] || "development").to_sym)
@henrik
henrik / git-submodule-rm.sh
Created May 31, 2012 15:44 — forked from barraponto/git-submodule-rm.sh
git submodule-rm
#!/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
}
@henrik
henrik / config-initializers-resque_failure.rb
Created November 7, 2012 16:01 — forked from monde/honeybadger_resque.rb
Honeybadger based error reporting backend for Resque
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