Sha256: 159f89de157e6cfbf692efa7016b7d7d62530a62badd0510db1dde58b90f908a

Contents?: true

Size: 398 Bytes

Versions: 4

Compression:

Stored size: 398 Bytes

Contents

class Object
  unless defined?(instance_exec)
    def instance_exec(*args, &block)
      mname = "__instance_exec_#{Thread.current.object_id.abs}"
      eigen = class << self; self; end
      eigen.class_eval { define_method(mname, &block) }
      begin
        ret = send(mname, *args)
      ensure
        eigen.class_eval { undef_method(mname) } rescue nil
      end
      ret
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
rink-1.0.2 lib/core_ext/object.rb
rink-1.0.1 lib/core_ext/object.rb
rink-1.0.0 lib/core_ext/object.rb
sc-ansi-1.0.0 lib/core_ext/object.rb