class Fuby::Send

Public Class Methods

new(receiver) click to toggle source
# File lib/fuby/send.rb, line 13
def initialize receiver
  @self = receiver
end

Public Instance Methods

alias_method(*sig) click to toggle source
# File lib/fuby/alias_method.rb, line 22
def alias_method *sig
  case sig.length
  when 1
    sig.unshift new_name = Symbol.__uuid__
    @self.send :alias_method, *sig
    new_name
  when 2
    @self.send :alias_method, *sig
  else raise new TypeError
  end
end
extend(*extends, &body) click to toggle source
# File lib/fuby/extend.rb, line 15
def extend *extends, &body
  @self.send :extend, *extends unless extends.empty?
  @self.send :extend, ::Module.new(&body) if block_given?
  @self
end
include(*includes, &body) click to toggle source
# File lib/fuby/include.rb, line 15
def include *includes, &body
  @self.send :include, *includes unless includes.empty?
  @self.send :include, ::Module.new(&body) if block_given?
  @self
end
method_missing(key, *sig, &blk) click to toggle source
# File lib/fuby/send.rb, line 17
def method_missing key, *sig, &blk
  @self.send key, *sig, &blk
end
prepend(*includes, &body) click to toggle source
# File lib/fuby/prepend.rb, line 13
def prepend *includes, &body
  @self.send :prepend, *includes unless includes.empty?
  @self.send :prepend, ::Module.new(&body) if block_given?
  @self
end