Class: Employer::Employees::AbstractEmployee
- Inherits:
-
Object
- Object
- Employer::Employees::AbstractEmployee
show all
- Defined in:
- lib/employer/employees/abstract_employee.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Instance Attribute Details
#job ⇒ Object
Returns the value of attribute job.
6
7
8
|
# File 'lib/employer/employees/abstract_employee.rb', line 6
def job
@job
end
|
Instance Method Details
#force_work_stop ⇒ Object
51
52
|
# File 'lib/employer/employees/abstract_employee.rb', line 51
def force_work_stop
end
|
#free ⇒ Object
42
43
44
45
46
|
# File 'lib/employer/employees/abstract_employee.rb', line 42
def free
return unless work_completed? || work_failed?
@work_state = nil
@job = nil
end
|
#free? ⇒ Boolean
26
27
28
|
# File 'lib/employer/employees/abstract_employee.rb', line 26
def free?
job.nil?
end
|
13
14
15
|
# File 'lib/employer/employees/abstract_employee.rb', line 13
def perform_job
job.perform
end
|
#stop_working ⇒ Object
21
22
23
24
|
# File 'lib/employer/employees/abstract_employee.rb', line 21
def stop_working
return if work_completed? || work_failed?
force_work_stop
end
|
#wait_for_completion ⇒ Object
17
18
19
|
# File 'lib/employer/employees/abstract_employee.rb', line 17
def wait_for_completion
work_state(true)
end
|
#work(job) ⇒ Object
8
9
10
11
|
# File 'lib/employer/employees/abstract_employee.rb', line 8
def work(job)
raise Employer::Errors::EmployeeBusy unless free?
@job = job
end
|
#work_completed? ⇒ Boolean
34
35
36
|
# File 'lib/employer/employees/abstract_employee.rb', line 34
def work_completed?
true if work_state == :complete
end
|
#work_failed? ⇒ Boolean
38
39
40
|
# File 'lib/employer/employees/abstract_employee.rb', line 38
def work_failed?
true if work_state == :failed
end
|
#work_in_progress? ⇒ Boolean
30
31
32
|
# File 'lib/employer/employees/abstract_employee.rb', line 30
def work_in_progress?
true if work_state == :busy
end
|
#work_state(wait = false) ⇒ Object
48
49
|
# File 'lib/employer/employees/abstract_employee.rb', line 48
def work_state(wait = false)
end
|