Class: Module

Inherits:
Object show all
Defined in:
lib/tagen/core/module.rb

Instance Method Summary collapse

Instance Method Details

#append_features(base) ⇒ Object

after include module, convert methods in ClassMethods to class methods. a very clean design.

Examples:

module Guten
	module ClassMethods
		def foo; end      # this is class method.
	end

 def bar; end # this is instance method. 
end

class Tag
	include Guten  # will auto Tag.extend(Guten::Classmethods)
end

See Also:

  • Module#append_features


21
22
23
24
# File 'lib/tagen/core/module.rb', line 21

def append_features base
	original_append_features base
	base.extend const_get(:ClassMethods) if const_defined?(:ClassMethods)
end

#original_append_featuresObject



3
# File 'lib/tagen/core/module.rb', line 3

alias :original_append_features :append_features