summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-kernel-ext/mrblib/kernel.rb
blob: bf739ed1ab840bae7e01c04387b028d812b2ec59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
module Kernel
  # call-seq:
  #   obj.yield_self {|_obj|...} -> an_object
  #   obj.then {|_obj|...}       -> an_object
  #
  # Yields <i>obj</i> and returns the result.
  #
  #   'my string'.yield_self {|s|s.upcase} #=> "MY STRING"
  #
  def yield_self(&block)
    return to_enum :yield_self unless block
    block.call(self)
  end
  alias then yield_self
end