Method: SugarCube::Repl.build_tree

Defined in:
lib/cocoa/sugarcube-repl/repl.rb

.build_tree(item, selector) ⇒ Object



360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
# File 'lib/cocoa/sugarcube-repl/repl.rb', line 360

def build_tree(item, selector)

  if selector.is_a? Proc
    items = selector.call(item)
  else
    items = item.send(selector)
  end
  items ||= []

  ret = [item]
  return ret if @sugarcube_collapsed_items && @sugarcube_collapsed_items.include?(item)

  items.each_with_index do |subview, index|
    ret.concat SugarCube::Repl::build_tree(subview, selector)
  end
  ret
end