Skip to content

Instantly share code, notes, and snippets.

require 'rack'
module I
class Rack
def initialize(app)
@app = app
end
➜ rake
(in /Users/haruki_zaemon/Projects/rubinius)
/Users/haruki_zaemon/.rvm/ruby-1.8.7-p174/bin/ruby vm/codegen/field_extract.rb vm/builtin/object.hpp vm/builtin/integer.hpp vm/builtin/executable.hpp vm/builtin/access_variable.hpp vm/builtin/fixnum.hpp vm/builtin/array.hpp vm/builtin/bignum.hpp vm/builtin/block_environment.hpp vm/builtin/bytearray.hpp vm/builtin/io.hpp vm/builtin/channel.hpp vm/builtin/module.hpp vm/builtin/class.hpp vm/builtin/compiledmethod.hpp vm/builtin/data.hpp vm/builtin/dir.hpp vm/builtin/exception.hpp vm/builtin/float.hpp vm/builtin/immediates.hpp vm/builtin/iseq.hpp vm/builtin/list.hpp vm/builtin/lookuptable.hpp vm/builtin/memorypointer.hpp vm/builtin/methodtable.hpp vm/builtin/nativefunction.hpp vm/builtin/regexp.hpp vm/builtin/selector.hpp vm/builtin/staticscope.hpp vm/builtin/sendsite.hpp vm/builtin/string.hpp vm/builtin/symbol.hpp vm/builtin/thread.hpp vm/builtin/tuple.hpp vm/builtin/compactlookuptable.hpp vm/builtin/time.hpp vm/builtin/taskprobe.hpp vm/builtin/nativemethod.hpp
ruby_version_is "" ... "1.8.7" do
it "accepts a sequence of underscores as part of a number" do
"a__b".hex.should == 0xab
"a____b".hex.should == 0xab
"a___f".hex.should == 0xaf
end
end
ruby_version_is "1.8.7" do
it "does not accept a sequence of underscores as part of a number" do
From 3fb224e93db9fbd3c0964de6e5ee4e7319bfc9d8 Mon Sep 17 00:00:00 2001
From: Simon Harris <haruki.zaemon@gmail.com>
Date: Mon, 19 Oct 2009 22:17:51 +1100
Subject: [PATCH] Implemented: Array#sort raises an error if objects can't be compared
---
kernel/common/array.rb | 2 +-
spec/tags/frozen/core/array/sort_tags.txt | 1 -
2 files changed, 1 insertions(+), 2 deletions(-)
From 8d34d13c3c9a89ef7c8906b3f07ab8c7a2d95e8c Mon Sep 17 00:00:00 2001
From: Simon Harris <haruki.zaemon@gmail.com>
Date: Mon, 19 Oct 2009 23:51:01 +1100
Subject: [PATCH] SortedSet#hash specs now passing.
---
.../frozen/library/set/sortedset/hash_tags.txt | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
delete mode 100644 spec/tags/frozen/library/set/sortedset/hash_tags.txt

And finally, you also get IO#to_list allowing you to lazily processes huge files. For example, imagine the following code to process a 10MB file:

File.open("my_10_mb_file.txt") do |io|
  lines = []
  io.each_line do |line|
    break if lines.size == 10
    lines << line.chomp.downcase.reverse
  end
end
From 44d1c70bada4ec43f54e0d8fd2ed56cb9ce4e19b Mon Sep 17 00:00:00 2001
From: Simon Harris <haruki.zaemon@gmail.com>
Date: Wed, 6 Jan 2010 23:20:27 +1100
Subject: [PATCH] New failing spec: yield expands arguments that responds to to_ary.
---
spec/ruby/language/fixtures/yield.rb | 12 ++++++++++++
spec/ruby/language/yield_spec.rb | 7 +++++++
2 files changed, 19 insertions(+), 0 deletions(-)
execution expired/home/build/.gem/ruby/1.8/gems/activeresource-2.3.5/lib/active_resource/connection.rb:175:in `request'
/home/build/.gem/ruby/1.8/gems/activeresource-2.3.5/lib/active_resource/connection.rb:150:in `put'
/home/build/.gem/ruby/1.8/gems/activeresource-2.3.5/lib/active_resource/custom_methods.rb:102:in `put'
/var/runcoderun/active_builder/releases/20091018043744/lib/active_builder/build_resource.rb:63:in `complete!'
/var/runcoderun/active_builder/releases/20091018043744/lib/active_builder/build_resource.rb:53:in `fail!'
/var/runcoderun/active_builder/releases/20091018043744/lib/active_builder/builder.rb:86:in `fail!'
/var/runcoderun/active_builder/releases/20091018043744/lib/active_builder/builder.rb:52:in `build!'
/var/runcoderun/active_builder/releases/20091018043744/lib/active_builder/builder.rb:50:in `each'
/var/runcoderun/active_builder/releases/20091018043744/lib/active_builder/builder.rb:50:in `build!'
/var/runcoderun/active_builder/releases/20091018043744/lib/active_builder/builder.rb:11:i
@harukizaemon
harukizaemon / sobriquet.rb
Created January 11, 2010 11:08
Or you could use Forwardable#def_delegate
module Sobriquet
module CoreExt
module Module
# Use this in place of alias_method to create a _real_ alias, one that
# actually calls the aliased method rather than taking a copy of it.
def sobriquet(new_name, old_name)
method = instance_method(old_name)
# Add lib directory to the LOAD_PATH
begin
lib = File.expand_path("lib")
if File.exists?(lib)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
end
end