module Mutest::AST::NamedChildren::ClassMethods
Methods mixed in at class level
Private Instance Methods
children(*names)
click to toggle source
Create name helpers
@return [undefined]
# File lib/mutest/ast/named_children.rb, line 67 def children(*names) names.each_with_index do |name, index| define_named_child(name, index) end define_remaining_children(names) end
define_named_child(name, index)
click to toggle source
Define named child
@param [Symbol] name @param [Integer] index
@return [undefined]
# File lib/mutest/ast/named_children.rb, line 39 def define_named_child(name, index) define_private_method(name) do children.at(index) end end
define_private_method(name, &block)
click to toggle source
Define private method
@param [Symbol] name
@return [undefined]
# File lib/mutest/ast/named_children.rb, line 79 def define_private_method(name, &block) define_method(name, &block) private(name) end
define_remaining_children(names)
click to toggle source
Define remaining children
@param [Array<Symbol>] names
@return [undefined]
# File lib/mutest/ast/named_children.rb, line 50 def define_remaining_children(names) define_private_method(:remaining_children_with_index) do children.each_with_index.drop(names.length) end define_private_method(:remaining_children_indices) do children.each_index.drop(names.length) end define_private_method(:remaining_children) do children.drop(names.length) end end