summaryrefslogtreecommitdiff
path: root/lib/forwardable/impl.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/forwardable/impl.rb')
-rw-r--r--lib/forwardable/impl.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/forwardable/impl.rb b/lib/forwardable/impl.rb
new file mode 100644
index 0000000000..58a9dfb69c
--- /dev/null
+++ b/lib/forwardable/impl.rb
@@ -0,0 +1,16 @@
+# :stopdoc:
+module Forwardable
+ def self._valid_method?(method)
+ catch {|tag|
+ eval("BEGIN{throw tag}; ().#{method}", binding, __FILE__, __LINE__)
+ }
+ rescue SyntaxError
+ false
+ else
+ true
+ end
+
+ def self._compile_method(src, file, line)
+ eval(src, nil, file, line)
+ end
+end