class Employer::Workshop

Attributes

logger[R]

Public Class Methods

new(config_code, skip_employees = false) click to toggle source
# File lib/employer/workshop.rb, line 11
def initialize(config_code, skip_employees = false)
  @logger = Employer::Logger.new
  @boss = Employer::Boss.new(logger)
  @forking_employees = 0
  @threading_employees = 0

  instance_eval(config_code)

  unless skip_employees
    @forking_employees.times do
      @boss.allocate_employee(Employer::Employees::ForkingEmployee.new(logger))
    end

    @threading_employees.times do
      @boss.allocate_employee(Employer::Employees::ThreadingEmployee.new(logger))
    end
  end
end
pipeline(filename) click to toggle source
# File lib/employer/workshop.rb, line 7
def self.pipeline(filename)
  new(File.read(filename), true).pipeline
end

Public Instance Methods

log_to(log_to_logger) click to toggle source
# File lib/employer/workshop.rb, line 47
def log_to(log_to_logger)
  logger.append_to(log_to_logger)
end
pipeline() click to toggle source
# File lib/employer/workshop.rb, line 43
def pipeline
  @boss.pipeline
end
run() click to toggle source
# File lib/employer/workshop.rb, line 30
def run
  @boss.manage
end
stop() click to toggle source
# File lib/employer/workshop.rb, line 34
def stop
  @boss.stop_managing
end
stop_now() click to toggle source
# File lib/employer/workshop.rb, line 38
def stop_now
  @boss.stop_managing
  @boss.stop_employees
end

Private Instance Methods

forking_employees(number) click to toggle source
# File lib/employer/workshop.rb, line 53
def forking_employees(number)
  @forking_employees = number
end
pipeline_backend(backend) click to toggle source
# File lib/employer/workshop.rb, line 61
def pipeline_backend(backend)
  @boss.pipeline_backend = backend
end
threading_employees(number) click to toggle source
# File lib/employer/workshop.rb, line 57
def threading_employees(number)
  @threading_employees = number
end