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.
-
#attr_accessor(*names) ⇒ Object
15.2.2.4.12.
-
#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 |
#attr_accessor(*names) ⇒ Object
15.2.2.4.12
3 4 5 6 |
# File 'mrblib/00class.rb', line 3 def attr_accessor(*names) attr_reader(*names) attr_writer(*names) end |
#include(*args) ⇒ Object
15.2.2.4.27
14 15 16 17 18 19 20 |
# 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) ⇒ Object
22 23 24 25 26 27 28 |
# File 'mrblib/00class.rb', line 22 def prepend(*args) args.reverse.each do |m| m.prepend_features(self) m.prepended(self) end self end |