Skip to content

Instantly share code, notes, and snippets.

@jnunemaker
jnunemaker / oauth2_example.rb
Created April 22, 2010 22:18 — forked from technoweenie/oauth2_example.rb
oauth2, sinatra, faraday
# see http://github.com/intridea/oauth2
require 'rubygems'
require 'sinatra'
require 'oauth2'
require 'json'
class ConnectionLogger < Faraday::Middleware
def call(env)
env[:response].on_complete do |env|
puts "RESULT: #{env[:status]}\n#{env[:body]}"
alias reload='. ~/.bashrc'
alias ea="$EDITOR ~/bin/dotfiles/bash/aliases && reload"
alias ee="$EDITOR ~/bin/dotfiles/bash/env && reload"
alias eh="$EDITOR ~/bin/dotfiles/bash/heroku && reload"
# Processes
alias tu='top -o cpu'
alias tm='top -o vsize'
# Projects
@jnunemaker
jnunemaker / mg
Created March 30, 2010 19:25 — forked from defunkt/gemspec
simple gemspec generator
#!/usr/bin/env ruby
# Usage: generate a blank gemspec, for defunkt
abort "pass a name" unless name = ARGV[0]
date = Time.now.strftime('%Y-%m-%d')
puts <<spec
Gem::Specification.new do |s|
s.name = "#{name}"
s.version = "0.1.0"
@jnunemaker
jnunemaker / application.js
Created March 3, 2010 18:43 — forked from bkeepers/application.js
browser cookie timezone stuff
jQuery(function() {
$.cookie('tz', (new Date()).getTimezoneOffset());
});
@jnunemaker
jnunemaker / gist:311068
Created February 22, 2010 13:32 — forked from kamal/gist:269412
require "rack/openid"
require "warden"
use Rack::OpenID
use Warden::Manager do |manager|
Warden::Strategies.add(:openid) do
def authenticate!
if resp = env["rack.openid.response"]
case resp.status
when :success
@jnunemaker
jnunemaker / display_failures_instantly.rb
Created February 15, 2010 22:00
shows test unit failures immediately
require 'test/unit/ui/console/testrunner'
class Test::Unit::UI::Console::TestRunner
def add_fault(fault)
hax_output(fault)
@faults << fault
output_single(fault.single_character_display, 1)
@already_outputted = true
end
def hax_output(fault)
@jnunemaker
jnunemaker / navvy_god_config.rb
Created February 11, 2010 19:50
navvy god config
God.watch do |w|
w.name = "navvy-1"
w.group = 'navvy'
w.interval = 30.seconds
w.start = "rake navvy:work"
w.dir = RAILS_ROOT
w.env = {'RAILS_ENV' => RAILS_ENV}
w.log = "#{RAILS_ROOT}/log/navvy.log"
w.uid = 'rails'
@jnunemaker
jnunemaker / mongo_mapper_new_relic.rb
Created January 8, 2010 09:04
MongoMapper NewRelic Integration
# Have to use ActiveRecord so that New Relic shows it on all graphs.
# The push scope false stuff makes it so that you can track usage by model and overall.
if defined?(NewRelic)
module MongoMapperNewRelic
def self.included(model)
mm_class_methods = [
:find,
:find!,
:paginate,
:first,
@jnunemaker
jnunemaker / example_use_with_comment.rb
Created January 4, 2010 19:39
example of how easy gravatar support is without a plugin/gem
class Comment
include MongoMapper::EmbeddedDocument
include Gravatarable
key :name, String
key :email, String
key :url, String
key :body, String
key :created_at, Time
@jnunemaker
jnunemaker / embedded_uniqueness_validations.rb
Created December 23, 2009 13:52
How to validate uniqueness of embedded objects
require 'pp'
require 'rubygems'
require 'mongo_mapper'
MongoMapper.database = 'testing'
class Rating
include MongoMapper::EmbeddedDocument
key :user_id, ObjectId