Sha256: 82a1485f8aa553a18c0e9f734084719260c2c28b5bba86bebd85949c3e92a50a
Contents?: true
Size: 1.42 KB
Versions: 2
Compression:
Stored size: 1.42 KB
Contents
# <!-- rdoc-file=class.c --> # Refinement is a class of the `self` (current context) inside `refine` # statement. It allows to import methods from other modules, see # #import_methods. # class Refinement < Module private # <!-- # rdoc-file=class.c # - import_methods(module, ...) -> self # --> # Imports methods from modules. Unlike Module#include, Refinement#import_methods # copies methods and adds them into the refinement, so the refinement is # activated in the imported methods. # # Note that due to method copying, only methods defined in Ruby code can be # imported. # # module StrUtils # def indent(level) # ' ' * level + self # end # end # # module M # refine String do # import_methods StrUtils # end # end # # using M # "foo".indent(3) # #=> " foo" # # module M # refine String do # import_methods Enumerable # # Can't import method which is not defined with Ruby code: Enumerable#drop # end # end # def import_methods: (*Module) -> self # <!-- # rdoc-file=eval.c # - refined_class -> class # --> # Return the class refined by the receiver. # def refined_class: () -> Module # <!-- # rdoc-file=eval.c # - target -> class # --> # Return the class or module refined by the receiver. # def target: () -> Module end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rbs-3.4.0 | core/refinement.rbs |
rbs-3.4.0.pre.1 | core/refinement.rbs |