Skip to content

Instantly share code, notes, and snippets.

View stympy's full-sized avatar

Benjamin Curtis stympy

View GitHub Profile
@stympy
stympy / excerpt.rb
Created May 23, 2011 13:14
Jekyll excerpt plugin
# This goes in _plugins/excerpt.rb
module Jekyll
class Post
alias_method :original_to_liquid, :to_liquid
def to_liquid
original_to_liquid.deep_merge({
'excerpt' => content.match('<!--more-->') ? content.split('<!--more-->').first : nil
})
end
end
@stympy
stympy / runchef.rb
Created May 25, 2011 13:40
A chef runner
#!/usr/bin/env ruby
require 'optparse'
require 'rubygems'
require 'net/ssh'
require 'yaml'
options = { :json => 'node.json', :config => 'chef-config.rb', :server => nil, :user => 'root' }
if config = YAML.load_file(File.join(File.dirname(__FILE__), 'server.yml'))
options.merge!(config)
@stympy
stympy / descriptive_sql_load_log.rb
Created July 23, 2011 17:15 — forked from JackDanger/descriptive_sql_load_log.rb
Let Rails display file names and line numbers for log activity.
module ActiveRecord
module ConnectionAdapters
class AbstractAdapter
protected
# Turn:
# User Load (6.3ms) SELECT * FROM "users"
# Into:
# User Load /app/views/_partial.erb:27 (6.3ms) in `_app_views_partial_erb` SELECT * FROM "users"
@stympy
stympy / deploy.rb
Created December 12, 2011 21:27
Skip asset pre-compilation when deploying if the assets didn't change
namespace :deploy do
namespace :assets do
task :precompile, :roles => :web, :except => { :no_release => true } do
from = source.next_revision(current_revision)
if capture("cd #{latest_release} && #{source.local.log(from)} vendor/assets/ app/assets/ | wc -l").to_i > 0
run %Q{cd #{latest_release} && #{rake} RAILS_ENV=#{rails_env} #{asset_env} assets:precompile}
else
logger.info "Skipping asset pre-compilation because there were no asset changes"
end
end
@stympy
stympy / gist:1501816
Created December 20, 2011 14:51 — forked from bretthoerner/gist:839193
redis config from disqus
activerehashing yes
appendfsync everysec
appendonly no
bind 0.0.0.0
daemonize yes
databases 1
dbfilename dump_1.rdb
dir /var/redis/
glueoutputbuf yes
hash-max-zipmap-entries 512
@stympy
stympy / gist:1502891
Created December 20, 2011 19:37 — forked from qrush/gist:296921
stats tracking in redis
gemcutter => redis downloads spec
=================================
keys
----
downloads => global counter for all gem downloads
downloads:today => sorted set for downloads from today
downloads:rubygem:rails => counter for all rails downloads
downloads:version:rails-2.3.5 => counter for all rails 2.3.5 downloads
@stympy
stympy / session_cookie_dump.rb
Created January 31, 2012 22:06
Rails utility class for manually decoding session cookie values
@stympy
stympy / js.demo.rb
Created September 5, 2012 21:52 — forked from Zapotek/js.demo.rb
V8 interpreter with basic DOM in Ruby using TheRubyRacer and Taka
require 'v8'
require 'open-uri'
require 'pp'
require 'ap'
require 'taka'
require 'ostruct'
#
# Monkey patch all elements to include a 'style' attribute
#
@stympy
stympy / generate_categories.rb
Created October 3, 2012 02:36
A couple of plugins for jekyll
# Jekyll category page generator.
# http://recursive-design.com/projects/jekyll-plugins/
#
# Version: 0.1.4 (201101061053)
#
# Copyright (c) 2010 Dave Perrett, http://recursive-design.com/
# Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
#
# A generator that creates category pages for jekyll sites.
#
@stympy
stympy / error.json
Created October 3, 2012 12:56
Sample Honeybadger error payload
{
"notifier":{
"name":"Honeybadger Notifier",
"url":"https://github.com/honeybadger-io/honeybadger-ruby",
"version":"1.3.0"
},
"error":{
"class":"RuntimeError",
"message":"RuntimeError: This is a runtime error, generated by the crywolf app at 2012-09-26 17:25:24 -0700",
"backtrace":[