module Celluloid::ClassMethods

Class methods added to classes which include Celluloid

Public Instance Methods

===(other) click to toggle source
# File lib/celluloid.rb, line 245
def ===(other)
  other.is_a? self
end
actor_options() click to toggle source

Configuration options for Actor#new

# File lib/celluloid.rb, line 225
def actor_options
  {
    actor_system: actor_system,
    mailbox_class: mailbox_class,
    mailbox_size: mailbox_size,
    task_class: task_class,
    exclusive: exclusive_actor
  }
end
actor_system() click to toggle source
# File lib/celluloid.rb, line 220
def actor_system
  Celluloid.actor_system
end
behavior_options() click to toggle source
# File lib/celluloid.rb, line 235
def behavior_options
  {
    proxy_class: proxy_class,
    exclusive_methods: exclusive_methods,
    exit_handler_name: exit_handler_name,
    finalizer: finalizer,
    receiver_block_executions: execute_block_on_receiver
  }
end
new(*args, &block) click to toggle source
# File lib/celluloid.rb, line 197
def new(*args, &block)
  proxy = Cell.new(allocate, behavior_options, actor_options).proxy
  proxy._send_(:initialize, *args, &block)
  proxy
end
Also aliased as: spawn
pool(config = {}, &block) click to toggle source

Create a new pool of workers. Accepts the following options:

  • size: how many workers to create. Default is worker per CPU core

  • args: array of arguments to pass when creating a worker

# File lib/celluloid/supervision/container/behavior/pool.rb, line 12
def pool(config = {}, &block)
  _ = Celluloid.supervise(pooling_options(config, block: block, actors: self))
  _.actors.last
end
run(*args, &block) click to toggle source

Run an actor in the foreground

# File lib/celluloid.rb, line 216
def run(*args, &block)
  Actor.join(new(*args, &block))
end
spawn(*args, &block)
Alias for: new
supervise(config = {}, &block) click to toggle source
# File lib/celluloid/supervision/supervise.rb, line 10
def supervise(config = {}, &block)
  Celluloid.supervise(config.merge(type: self), &block)
end