module Tangle::Mixin::Initialize
Mixin
to initialize the dynamic mixin system
Attributes
mixins[R]
Private Instance Methods
extend_with_mixins()
click to toggle source
# File lib/tangle/mixin.rb, line 19 def extend_with_mixins klass = self.class.name[/[^:]+$/].to_sym @mixins.each do |mixin| extend(mixin.const_get(klass)) if mixin.const_defined?(klass) end end
initialize_kwargs(**kwargs)
click to toggle source
# File lib/tangle/mixin.rb, line 26 def initialize_kwargs(**kwargs) kwargs.each do |keyword, argument| send("initialize_kwarg_#{keyword}", argument) end end
initialize_mixins(mixins: nil, **kwargs)
click to toggle source
# File lib/tangle/mixin.rb, line 13 def initialize_mixins(mixins: nil, **kwargs) @mixins = mixins extend_with_mixins unless @mixins.nil? initialize_kwargs(**kwargs) unless kwargs.empty? end