Sha256: 2abf4aec48c5a0782f2a451e907570b6d7cfeb90a761e6934df8bb0764fd0194
Contents?: true
Size: 911 Bytes
Versions: 17
Compression:
Stored size: 911 Bytes
Contents
module Feature module ClassMethods def feature end end # in uber, this would look somehow like # module Feature # module ClassMethods ... end # extend Uber::InheritableIncluded # inheritable_included do |includer| # includer.extend ClassMethods # end # end InheritedIncludedCodeBlock = lambda do |includer| includer.extend ClassMethods end module RecursiveIncluded def included(includer) #super # TODO: test me. puts "RecursiveIncluded in #{includer}" includer.module_eval do InheritedIncludedCodeBlock.call(includer) extend RecursiveIncluded end end end extend RecursiveIncluded end module Client include Feature end module Extension include Client end module Plugin include Extension end module Framework include Plugin end Client.feature Extension.feature Plugin.feature Framework.feature
Version data entries
17 entries across 17 versions & 3 rubygems