module Kernel
Public Instance Methods
__method__()
click to toggle source
# File lib/backports/1.8.7/kernel/__method__.rb, line 3 def __method__ m = caller(1).first[/`(.*)'/,1] m.to_sym if m end
Also aliased as: __callee__
define_singleton_method(*args, &block)
click to toggle source
# File lib/backports/1.9.1/kernel/define_singleton_method.rb, line 3 def define_singleton_method(*args, &block) class << self self end.send(:define_method, *args, &block) end
instance_exec(*arg, &block)
click to toggle source
# File lib/backports/1.8.7/kernel/instance_exec.rb, line 3 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
itself()
click to toggle source
# File lib/backports/2.2.0/kernel/itself.rb, line 3 def itself self end
lambda_with_lambda_tracking(&block)
click to toggle source
# File lib/backports/1.9.1/proc/lambda.rb, line 25 def lambda_with_lambda_tracking(&block) l = lambda_without_lambda_tracking(&block) l.send :__is_lambda__=, true unless block.send(:__is_lambda__) == false l end
loop_with_stop_iteration(&block)
click to toggle source
# File lib/backports/1.8.7/stop_iteration.rb, line 7 def loop_with_stop_iteration(&block) loop_without_stop_iteration(&block) rescue StopIteration # ignore silently end
method_with_additional_info(name)
click to toggle source
# File lib/backports/1.8.7/method/name.rb, line 30 def method_with_additional_info(name) bound = method_without_additional_info(name) bound.name = name.to_s bound.receiver = self bound.owner = self.class.ancestors.find{|mod| mod.instance_methods(false).include? bound.name} bound end
proc_with_lambda_tracking(&block)
click to toggle source
# File lib/backports/1.9.1/proc/lambda.rb, line 31 def proc_with_lambda_tracking(&block) l = proc_without_lambda_tracking(&block) l.send :__is_lambda__=, block.send(:__is_lambda__) == true l end
public_method(meth)
click to toggle source
# File lib/backports/1.9.1/kernel/public_method.rb, line 3 def public_method(meth) if respond_to?(meth) && !protected_methods.include?(meth.to_s) method(meth) else raise NameError, "undefined method `#{meth}' for class `#{self.class}'" end end
public_send(method, *args, &block)
click to toggle source
# File lib/backports/1.9.1/kernel/public_send.rb, line 3 def public_send(method, *args, &block) if respond_to?(method) && !protected_methods.include?(method.to_s) send(method, *args, &block) else :foo.generate_a_no_method_error_in_preparation_for_method_missing rescue nil # otherwise a NameError might be raised when we call method_missing ourselves method_missing(method.to_sym, *args, &block) end end
require_with_backports(lib)
click to toggle source
# File lib/backports/std_lib.rb, line 7 def require_with_backports(lib) begin return false unless require_without_backports(lib) paths = Backports::StdLib.extended_lib.fetch(lib, nil) rescue LoadError return false if Backports::StdLib::LoadedFeatures.new.include?(lib) raise unless paths = Backports::StdLib.extended_lib.fetch(lib, nil) Backports::StdLib::LoadedFeatures.mark_as_loaded(lib) end if paths paths.each do |path| require_without_backports(path) end end true end
singleton_class()
click to toggle source
# File lib/backports/1.9.2/kernel/singleton_class.rb, line 3 def singleton_class class << self; self; end end
tap() { |self| ... }
click to toggle source
# File lib/backports/1.8.7/kernel/tap.rb, line 3 def tap yield self self end
yield_self() { |self| ... }
click to toggle source
# File lib/backports/2.5.0/kernel/yield_self.rb, line 2 def yield_self return to_enum(__method__) { 1 } unless block_given? yield self end
Also aliased as: then
Private Instance Methods
require_relative(relative_feature)
click to toggle source
# File lib/backports/1.9.1/kernel/require_relative.rb, line 5 def require_relative(relative_feature) file = caller.first.split(/:\d/,2).first if /\A\((.*)\)/ =~ file # eval, etc. raise LoadError, "require_relative is called in #{$1}" end require File.expand_path(Backports.convert_path(relative_feature), File.dirname(file)) end