Skip to content

Instantly share code, notes, and snippets.

@jrom
jrom / nginx.conf
Created February 7, 2012 17:14
nginx hack for multiple conditions
if ($request_uri = /) {
set $test A;
}
if ($host ~* teambox.com) {
set $test "${test}B";
}
if ($http_cookie !~* "auth_token") {
set $test "${test}C";
@jtimberman
jtimberman / knife.rb
Created February 1, 2012 19:33
Commented knife.rb for all the things
# Knife Configuration File.
#
# This is a Ruby DSL to set configuration parameters for Knife's
# general options. The default location for this file is
# ~/.chef/knife.rb. If multiple Chef repositories are used,
# per-repository configuration files can be created. A per repository
# configuration file must be .chef/knife.rb in the base directory of
# the Chef repository. For example,
#
# ~/Development/chef-repo/.chef/knife.rb
@sgonyea
sgonyea / ohm-expiring.rb
Created January 20, 2012 22:23
Mixin to add support for expiring keys within Ohm
module Ohm
module Expiring
def self.included(base)
base.instance_exec {
include InstanceMethods
extend ClassMethods
}
end
@nkoehring
nkoehring / gist:1499623
Created December 20, 2011 00:37
import JSON exports from CouchDB (Padrino)
%w(account event request_template).each do |model|
json = File.open("#{model}s.backup.json", "r") {|f| f.read}
data = JSON.parse(json)
data.each {|datum| model.classify.constantize.create(datum).save}
end
@ileitch
ileitch / gist:1459987
Created December 11, 2011 11:08
Interruptible sleep in Ruby
module InterruptibleSleep
def interruptible_sleep(seconds)
@_sleep_check, @_sleep_interrupt = IO.pipe
IO.select([@_sleep_check], nil, nil, seconds)
end
def interrupt_sleep
@_sleep_interrupt.close if @_sleep_interrupt
end
end
@darcyclark
darcyclark / gist:1384630
Created November 22, 2011 01:38
sending emails asynchronously from Padrino via Resque
# put this in /lib/resque.rb
require 'mail'
module Emailer
class Send
@queue = :issue_mailer
def self.perform(addressee, subject, body)
@thatfunkymunki
thatfunkymunki / application_helper.rb
Created November 9, 2011 08:21 — forked from purcell/application_helper.rb
Make will_paginate generate HTML that bootstrap.less will render nicely, fixed for will_paginate 3.0.2
# Based on https://gist.github.com/1205828, in turn based on https://gist.github.com/1182136
class BootstrapLinkRenderer < ::WillPaginate::ActionView::LinkRenderer
protected
def html_container(html)
tag :div, tag(:ul, html), container_attributes
end
def page_number(page)
tag :li, link(page, page, :rel => rel_value(page)), :class => ('active' if page == current_page)
@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
@purcell
purcell / application_helper.rb
Created September 9, 2011 09:23
Make will_paginate generate HTML that bootstrap.less will render nicely
# Based on https://gist.github.com/1182136
class BootstrapLinkRenderer < ::WillPaginate::ActionView::LinkRenderer
protected
def html_container(html)
tag :div, tag(:ul, html), container_attributes
end
def page_number(page)
tag :li, link(page, page, :rel => rel_value(page)), :class => ('active' if page == current_page)
@guilleiguaran
guilleiguaran / expiring.rb
Created August 4, 2011 17:02
Expiring values with Ohm
module Ohm
module Expiring
def self.included(base)
base.send(:extend, ClassMethods)
end
module ClassMethods
def expire(ttl)
@@expire = ttl.to_i
end