module DeepCover::Node::Mixin::HasChild
Constants
- CHILDREN
- CHILDREN_TYPES
Public Class Methods
included(base)
click to toggle source
# File lib/deep_cover/node/mixin/has_child.rb, line 6 def self.included(base) base.extend ClassMethods end
new(*)
click to toggle source
Calls superclass method
# File lib/deep_cover/node/mixin/has_child.rb, line 12 def initialize(*) super self.validate_children_types(children) end
Public Instance Methods
child_index_to_name(index)
click to toggle source
# File lib/deep_cover/node/mixin/has_child.rb, line 24 def child_index_to_name(index) self.class.child_index_to_name(index, children.size) end
validate_children_types(nodes)
click to toggle source
# File lib/deep_cover/node/mixin/has_child.rb, line 17 def validate_children_types(nodes) mismatches = self.class.check_children_types(nodes) unless mismatches.empty? raise TypeError, "Invalid children types for #{self.class}(type: #{self.type}): #{mismatches}" end end