Skip to content

Instantly share code, notes, and snippets.

View rsutphin's full-sized avatar

Rhett Sutphin rsutphin

  • Human Practice, Inc.
  • Chicago, Illinois
View GitHub Profile
require 'socket'
require 'webrick/httprequest'
require 'stringio'
# Super-primitive transparent, recording, single-threaded HTTP Proxy
class TransparentHttpProxy
attr_reader :port
def initialize(port, recorder)
@port = port
def visit(h, incr)
puts "Visiting #{h.inspect}"
visited_keys = []
begin
h.each_pair do |k, v|
visited_keys << k
h[incr.call(k)] = v
if h.size > 20 # arbitrary limit
raise "Infinite loop!"
end
# include at least one source and the rails gem
source :gemcutter
gem "rails", "~> 2.3.5", :require => nil
gem "sqlite3-ruby", :require => "sqlite3"
# Devise 1.0.2 is not a valid gem plugin for Rails, so use git until 1.0.3
# gem "devise", :git => "git://github.com/plataformatec/devise.git", :ref => "v1.0"
group :development do
# bundler requires these gems in development
gem "rails", "2.3.5"

Installed gems

$ gem list nokogiri

*** LOCAL GEMS ***

nokogiri (1.4.0, 1.3.3)

Gemfile

@rsutphin
rsutphin / rails23-bundler-template.rb
Created March 19, 2010 20:51
A rails 2.3 template which adds bundler 0.9.12 support to a new rails app
file 'config/preinitializer.rb', <<-PRE
# Use bundled gems
begin
require File.expand_path('../../.bundle/environment', __FILE__)
rescue LoadError
# This setup deliberately requires that the application be locked.
# For an alternative, see http://gist.github.com/302406#file_preinitializer.rb
if File.exist?(File.expand_path('../../Gemfile.lock', __FILE__))
raise "Application is locked but not installed. Run `bundle install` and then try again."
else
@rsutphin
rsutphin / script.md
Created March 19, 2010 21:17
Script to reproduce bundler issue 210

Generate app

$ rails -m http://gist.github.com/raw/338169/3a1d8e8eb1dde41479d2606019c0df031df7d872/rails23-bundler-template.rb foo
$ cd foo

Add a gem which provides generators to the Gemfile

source :gemcutter
gem 'rails', '2.3.5', :require => nil

gem 'sqlite3-ruby'

@rsutphin
rsutphin / module_super_with_alias.rb
Created March 31, 2010 14:13
MRI 1.8.x quirk with alias and super for included modules
module A
def foo
"a"
end
alias bar foo
end
module B
def foo
Gem::Specification.new do |s|
s.name = "A"
s.version = "0.0.0"
s.summary = "Gem A"
end
@rsutphin
rsutphin / build.yaml
Created May 26, 2010 18:44
Demonstration for ivy4r issue #3
gems:
- ivy4r
ivy:
settings.file: ivysettings.xml