1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
module Celluloid
module Supervision
class Container
class Tree
include Behavior
identifier! :supervises, :supervise
configuration do
if @configuration[:supervise].is_a? Array
@supervisor = @configuration.dup
@branch = @configuration.fetch(:branch, @configuration[:as])
@configuration.delete(Behavior.parameter(:supervise, @configuration))
elsif @configuration[:supervise].is_a?(Celluloid::Supervision::Configuration)
@configuration
else
raise ArgumentError, "No actors given to Tree to supervise."
end
end
end
end
end
end
|