In Files

  • mrbgems/mruby-class-ext/mrblib/module.rb
  • mrblib/00class.rb

Module

Public Instance Methods

mod < other → true, false, or nil click to toggle source

Returns true if `mod` is a subclass of `other`. Returns nil if there's no relationship between the two. (Think of the relationship in terms of the class definition: “class A < B” implies “A < B”.)

 
               # File mrbgems/mruby-class-ext/mrblib/module.rb, line 12
def <(other)
  if self.equal?(other)
    false
  else
    self <= other
  end
end
            
mod <= other → true, false, or nil click to toggle source

Returns true if `mod` is a subclass of `other` or is the same as `other`. Returns nil if there's no relationship between the two. (Think of the relationship in terms of the class definition: “class A < B” implies “A < B”.)

 
               # File mrbgems/mruby-class-ext/mrblib/module.rb, line 29
def <=(other)
  raise TypeError, 'compared with non class/module' unless other.is_a?(Module)
  if self.ancestors.include?(other)
    return true
  elsif other.ancestors.include?(self)
    return false
  end
end
            
module <=> other_module → -1, 0, +1, or nil click to toggle source

Comparison—Returns -1, 0, +1 or nil depending on whether `module` includes `other_module`, they are the same, or if `module` is included by `other_module`.

Returns `nil` if `module` has no relationship with `other_module`, if `other_module` is not a module, or if the two values are incomparable.

 
               # File mrbgems/mruby-class-ext/mrblib/module.rb, line 81
def <=>(other)
  return 0 if self.equal?(other)
  return nil unless other.is_a?(Module)
  cmp = self < other
  return -1 if cmp
  return 1 unless cmp.nil?
  return nil
end
            
mod > other → true, false, or nil click to toggle source

Returns true if `mod` is an ancestor of `other`. Returns nil if there's no relationship between the two. (Think of the relationship in terms of the class definition: “class A < B” implies “B > A”.)

 
               # File mrbgems/mruby-class-ext/mrblib/module.rb, line 47
def >(other)
  if self.equal?(other)
    false
  else
    self >= other
  end
end
            
mod >= other → true, false, or nil click to toggle source

Returns true if `mod` is an ancestor of `other`, or the two modules are the same. Returns nil if there's no relationship between the two. (Think of the relationship in terms of the class definition: “class A < B” implies “B > A”.)

 
               # File mrbgems/mruby-class-ext/mrblib/module.rb, line 65
def >=(other)
  raise TypeError, 'compared with non class/module' unless other.is_a?(Module)
  return other < self
end
            
attr_accessor(*names) click to toggle source

15.2.2.4.12

 
               # File mrblib/00class.rb, line 3
def attr_accessor(*names)
  attr_reader(*names)
  attr_writer(*names)
end
            
include(*args) click to toggle source

15.2.2.4.27

 
               # File mrblib/00class.rb, line 14
def include(*args)
  args.reverse.each do |m|
    m.append_features(self)
    m.included(self)
  end
  self
end
            
prepend(*args) click to toggle source
 
               # File mrblib/00class.rb, line 22
def prepend(*args)
  args.reverse.each do |m|
    m.prepend_features(self)
    m.prepended(self)
  end
  self
end