Class: Module
- Inherits:
-
Object
- Object
- Module
- Defined in:
- mrblib/00class.rb,
mrbgems/mruby-class-ext/mrblib/module.rb
Instance Method Summary collapse
-
#<(other) ⇒ Object
call-seq: mod < other -> true, false, or nil.
-
#<=(other) ⇒ Object
call-seq: mod <= other -> true, false, or nil.
-
#<=>(other) ⇒ Object
call-seq: module <=> other_module -> -1, 0, +1, or nil.
-
#>(other) ⇒ Object
call-seq: mod > other -> true, false, or nil.
-
#>=(other) ⇒ Object
call-seq: mod >= other -> true, false, or nil.
-
#include(*args) ⇒ Object
15.2.2.4.27.
- #prepend(*args) ⇒ Object
Instance Method Details
#<(other) ⇒ Object
call-seq: mod < other -> true, false, or nil
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”.)
12 13 14 15 16 17 18 |
# File 'mrbgems/mruby-class-ext/mrblib/module.rb', line 12 def <(other) if self.equal?(other) false else self <= other end end |
#<=(other) ⇒ Object
call-seq: mod <= other -> true, false, or nil
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”.)
29 30 31 32 33 34 35 36 |
# 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 |
#<=>(other) ⇒ Object
call-seq: module <=> other_module -> -1, 0, +1, or nil
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.
81 82 83 84 85 86 87 88 |
# 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 |
#>(other) ⇒ Object
call-seq: mod > other -> true, false, or nil
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”.)
47 48 49 50 51 52 53 |
# File 'mrbgems/mruby-class-ext/mrblib/module.rb', line 47 def >(other) if self.equal?(other) false else self >= other end end |
#>=(other) ⇒ Object
call-seq: mod >= other -> true, false, or nil
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”.)
65 66 67 68 |
# 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 |
#include(*args) ⇒ Object
15.2.2.4.27
16 17 18 19 20 21 22 23 24 |
# File 'mrblib/00class.rb', line 16 def include(*args) args.reverse! mod = self args.each do |m| m.__send__(:append_features, mod) m.__send__(:included, mod) end self end |
#prepend(*args) ⇒ Object
26 27 28 29 30 31 32 33 34 |
# File 'mrblib/00class.rb', line 26 def prepend(*args) args.reverse! mod = self args.each do |m| m.__send__(:prepend_features, mod) m.__send__(:prepended, mod) end self end |