Skip to content

Commit

Permalink
Initial readme
Browse files Browse the repository at this point in the history
  • Loading branch information
methodmissing committed Jul 9, 2009
1 parent 7e829d4 commit 0ab6d49
Showing 1 changed file with 40 additions and 0 deletions.
40 changes: 40 additions & 0 deletions README
@@ -0,0 +1,40 @@
Simple native Callback object for Ruby MRI
(c) 2009 Lourens Naudé (methodmissing), James Tucker (raggi) and coderrr

http://github.com/methodmissing/callback

This library works with Ruby 1.8 ( Ruby 1.9 support is pending ) and is a more efficient
implementation of the following Ruby code :

class RubyCallback
def initialize(object = nil, method = :call, &b)
@object, @method = object, method
@object ||= b
end

def call(*args)
@object.__send__(@method, *args)
end
end

module Kernel
private
def RubyCallback(object = nil, method = :call, &b)
RubyCallback.new(object, method, &b)
end
end

Examples :

'hai'.callback(:gsub).call('h', 'b') #=> 'bai'
Callback( 'bai', :to_s ).call #=> 'hai'
Callback{ 'hai' }.call #=> 'hai'
Callback( 'bai', :gsub ).call( 'b', 'h' ) #=> 'hai'

To run the test suite:

rake

To run the benchmarks:

rake bench

0 comments on commit 0ab6d49

Please sign in to comment.