Sha256: 75f75213720e4d3b8bd170d9be4592b8d3c7df40f969612fe3860ba847709f24

Contents?: true

Size: 1.03 KB

Versions: 5

Compression:

Stored size: 1.03 KB

Contents

module Kernel

  def __method__
    m = caller(1).first[/`(.*)'/,1]
    m.to_sym if m
  end unless (__method__ || true rescue false)

  # Standard in ruby 1.8.7+. See official documentation[http://ruby-doc.org/core-1.9/classes/Object.html]
  def instance_exec(*arg, &block)
    class << self
      self
    end.send(:define_method, :"temporary method for instance_exec", &block)
    send(:"temporary method for instance_exec", *arg)
  end unless method_defined? :instance_exec

  # Loop. Standard in ruby 1.8.7+. See official documentation[http://ruby-doc.org/core-1.9/classes/Object.html]
  unless const_defined? :StopIteration
    class StopIteration < IndexError; end

    def loop_with_stop_iteration(&block)
      loop_without_stop_iteration(&block)
    rescue StopIteration
      # ignore silently
    end
    Backports.alias_method_chain self, :loop, :stop_iteration
  end

  # Standard in ruby 1.8.7. See official documentation[http://ruby-doc.org/core-1.9/classes/Object.html]
  def tap
    yield self
    self
  end unless method_defined? :tap

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
backports-1.18.2 lib/backports/1.8.7/kernel.rb
backports-1.18.1 lib/backports/1.8.7/kernel.rb
backports-1.18.0 lib/backports/1.8.7/kernel.rb
backports-1.17.1 lib/backports/1.8.7/kernel.rb
backports-1.17.0 lib/backports/1.8.7/kernel.rb