class Sirens::VirtualTreeModel::TreeNode

Tree node class

Public Class Methods

new(value:, get_children_block:) click to toggle source
# File lib/models/virtual_tree_model.rb, line 121
def initialize(value:, get_children_block:)
    @value = value
    @children = nil
    @get_children_block = get_children_block
end

Public Instance Methods

child_at(index:) click to toggle source
# File lib/models/virtual_tree_model.rb, line 141
def child_at(index:)
    children[index]
end
children() click to toggle source
# File lib/models/virtual_tree_model.rb, line 131
def children()
    if @children.nil?
        @children = get_children.collect{ |item|
            self.class.new(value: item, get_children_block: @get_children_block)
        }
    end

    @children
end
get_children() click to toggle source
# File lib/models/virtual_tree_model.rb, line 145
def get_children()
    @get_children_block.call(value)
end
value() click to toggle source
# File lib/models/virtual_tree_model.rb, line 127
def value()
    @value
end