lib/backports/object.rb in backports-1.5.0 vs lib/backports/object.rb in backports-1.6.0

- old
+ new

@@ -1,8 +1,9 @@ require 'enumerator' -class Object +module Kernel # Did you know that object instance methods are defined in Kernel? + # Standard in rails. See official documentation[http://api.rubyonrails.org/classes/Object.html] def try(method_id, *args, &block) send(method_id, *args, &block) unless self.nil? #todo: check new def end unless method_defined? :try @@ -17,6 +18,17 @@ yield obj obj end unless method_defined? :returning Enumerator = Enumerable::Enumerator unless const_defined? :Enumerator # Standard in ruby 1.9 -end \ No newline at end of file + + def define_singleton_method(symbol, &block) + class << self + self + end.send(:define_method, symbol, block) + end unless method_defined? :define_singleton_method + + def instance_exec(*arg, &block) + define_singleton_method(:"temporary method for instance_exec", &block) + send(:"temporary method for instance_exec", *arg) + end unless method_defined? :instance_exec +end