lib/lazyeval.rb in lazyeval-0.0.2 vs lib/lazyeval.rb in lazyeval-0.0.3
- old
+ new
@@ -2,12 +2,12 @@
def lazy(&block)
Lazy.new(self, &block)
end
end
-class Lazy
- undef_method(*(instance_methods - %w/__id__ __send__ respond_to? debugger/))
+class Lazy < (::RUBY_VERSION < '1.9') ? Object : BasicObject
+ undef_method(*(instance_methods - %w/__id__ __send__ respond_to? debugger/)) if ::RUBY_VERSION < '1.9'
def initialize(obj, &block)
@obj, @block = obj, block
@args = @done = nil
end
@@ -20,9 +20,9 @@
end
@res = @args ? @obj.send(*@args, &@block) : @block.call(@obj)
@done = true
end
-
+
@res.send(*args, &block)
end
end