module DeepCover::Node::Mixin::HasChildHandler
Public Class Methods
included(base)
click to toggle source
# File lib/deep_cover/node/mixin/has_child_handler.rb, line 6 def self.included(base) base.extend ClassMethods end
Private Instance Methods
call_child_handler(template, child, child_name = nil)
click to toggle source
# File lib/deep_cover/node/mixin/has_child_handler.rb, line 10 def call_child_handler(template, child, child_name = nil) child_name ||= self.child_index_to_name(child.index) method_name = format(template, name: child_name) if respond_to?(method_name) args = [child, child_name] arity = method(method_name).arity if arity >= 0 args = args[0...arity] end answer = send(method_name, *args) end answer end