diff options
Diffstat (limited to 'Library/Homebrew/extend')
| -rw-r--r-- | Library/Homebrew/extend/object.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Library/Homebrew/extend/object.rb b/Library/Homebrew/extend/object.rb new file mode 100644 index 000000000..8ffe5dc90 --- /dev/null +++ b/Library/Homebrew/extend/object.rb @@ -0,0 +1,15 @@ +class Object + def instance_exec(*args, &block) + method_name = :__temp_instance_exec_method + singleton_class = (class << self; self; end) + singleton_class.class_eval do + define_method(method_name, &block) + end + + send(method_name, *args) + ensure + singleton_class.class_eval do + remove_method(method_name) if method_defined?(method_name) + end + end unless method_defined?(:instance_exec) +end |
