Module: Trax::Core::HasMixins::ClassMethods

Defined in:
lib/trax/core/has_mixins.rb

Instance Method Summary collapse

Instance Method Details

#register_mixin(mixin_klass, key = nil) ⇒ Object



5
6
7
8
9
10
# File 'lib/trax/core/has_mixins.rb', line 5

def register_mixin(mixin_klass, key = nil)
  mixin_key = mixin_klass.respond_to?(:mixin_registry_key) ? mixin_klass.mixin_registry_key : (key || mixin_klass.name.demodulize.underscore.to_sym)

  return if mixin_registry.key?(mixin_key)
  mixin_registry[mixin_key] = mixin_klass
end