From 1d2c192d35dcaa0483eebd891fddef0e972c8a59 Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Thu, 24 May 2001 07:13:56 +0000 Subject: This commit was manufactured by cvs2svn to create tag 'v1_6_4_preview3'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_6_4_preview3@1446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/forwardable.rb | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 lib/forwardable.rb (limited to 'lib/forwardable.rb') diff --git a/lib/forwardable.rb b/lib/forwardable.rb new file mode 100644 index 0000000000..7f57f77f53 --- /dev/null +++ b/lib/forwardable.rb @@ -0,0 +1,94 @@ +# +# forwardable.rb - +# $Release Version: 1.1$ +# $Revision$ +# $Date$ +# by Keiju ISHITSUKA(keiju@ishitsuka.com) +# original definition by delegator.rb +# -- +# Usage: +# +# class Foo +# extend Forwardable +# +# def_delegators("@out", "printf", "print") +# def_delegators(:@in, :gets) +# def_delegator(:@contents, :[], "content_at") +# end +# f = Foo.new +# f.printf ... +# f.gets +# f.content_at(1) +# +# g = Goo.new +# g.extend SingleForwardable +# g.def_delegator("@out", :puts) +# g.puts ... +# +# + +module Forwardable + + @debug = nil + class<