Module: Rubcask::Worker::Factory

Extended by:
Factory
Included in:
Factory
Defined in:
lib/rubcask/worker/factory.rb

Defined Under Namespace

Classes: Worker

Instance Method Summary collapse

Instance Method Details

#new_worker(type) ⇒ Worker

Returns a new worker of provided type

Parameters:

  • type (:direct, :thread, :reactor)

    Type of worker to create

Returns:

Raises:

  • (ArgumentError)

    if unknown type



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/rubcask/worker/factory.rb', line 16

def new_worker(type)
  case type
  when :direct
    DirectWorker.new
  when :thread
    ThreadWorker.new
  when :ractor
    RactorWorker.new
  else
    raise ArgumentError, "#{type} is not a known worker type"
  end
end