Skip to content

Instantly share code, notes, and snippets.

# What is it with you people and your singletons?
class Hash
def self.from_block(&block)
Hash[*BlockBuilder.new(&block).collected]
end
class BlockBuilder
attr_reader :collected
require 'rubygems' rescue nil
require 'gosu'
require 'chipmunk'
class Array
# e.g. [1,2,3].each_link yields [1,2], [2,3]
def each_link
prev = first
self[1, size].each do |item|
yield prev, item