Skip to content

Instantly share code, notes, and snippets.

View gsinclair's full-sized avatar

Gavin Sinclair gsinclair

  • Sydney, Australia
View GitHub Profile
@gsinclair
gsinclair / gist:479572
Created July 17, 2010 15:22
Ruby 1.9.2-rc1: instance_eval can't handle a lambda (needs a proc)
class InstanceEval
def initialize(code)
@code = code
@context = Object.new
end
def run
code = @code
result = @context.instance_eval(&code)
"* run --> #{result.inspect}"
@gsinclair
gsinclair / triangle_test.rb
Created October 15, 2009 13:26
Demonstrates use of Object#tap in unit testing. Small gain in neatness.
class TestTriangle < Test::Unit::TestCase
def test_isosceles_given_base_and_height
triangle(:ABC, :isosceles, :base => 5, :height :=> 9).tap do |t|
assert_point_equal p(2.5,9), t.apex
assert_point_equal p(0,0), @register[:A]
assert_point_equal p(5,0), @register[:B]
assert_point_equal p(2.5,9), @register[:C]
assert_equal t, @register.retrieve(:triangle, :ABC)
end