437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
|
# File 'lib/core/plugin/network.rb', line 437
def batch(node_references, default_provider = nil, parallel = true, &code)
success = true
node_references = array(node_references.clone)
if has_nodes? && ! node_references.empty?
nodes = nodes_by_reference(node_references, default_provider)
if CORL.parallel? && parallel
values = []
nodes.each do |node|
values << Celluloid::Future.new(node, &code)
end
values = values.map { |future| future.value }
success = false if values.include?(false)
else
nodes.each do |node|
proc_success = code.call(node)
if proc_success == false
success = false
break
end
end
end
end
success
end
|