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
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
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
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
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
15.2.2.4.12
# File mrblib/00class.rb, line 3
def attr_accessor(*names)
attr_reader(*names)
attr_writer(*names)
end