Method: ModelPack::Concern#append_features

Defined in:
lib/model_pack/concern.rb

#append_features(base) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/model_pack/concern.rb', line 15

def append_features(base)
  if base.instance_variable_defined?(:@_dependencies)
    base.instance_variable_get(:@_dependencies) << self
    return false
  else
    return false if base < self
    @_dependencies.each { |dep| base.send(:include, dep) }
    super
    base.extend const_get(:ClassMethods) if const_defined?(:ClassMethods)
    base.class_eval(&@_included_block) if instance_variable_defined?(:@_included_block)
  end
end