Module: SqlcachedClient::TreeVisitor

Included in:
Entity
Defined in:
lib/sqlcached_client/tree_visitor.rb

Instance Method Summary collapse

Instance Method Details

#visit_in_preorder(get_subtrees, visit, result_builder, parent = nil, index = nil) ⇒ Object

Parameters:

  • get_subtrees (Proc)
  • visit (Proc)
  • result_builder (Proc)
  • parent (Object) (defaults to: nil)
  • index (Integer) (defaults to: nil)


9
10
11
12
13
14
15
16
17
# File 'lib/sqlcached_client/tree_visitor.rb', line 9

def visit_in_preorder(get_subtrees, visit, result_builder,
    parent = nil, index = nil)
  result_builder.(
    visit.(self, parent, index),
    get_subtrees.(self).map.with_index do |item, i|
      item.visit_in_preorder(get_subtrees, visit, result_builder, self, i)
    end
  )
end