Class: Ruboty::Handlers::Cron
- Inherits:
-
Base
- Object
- Base
- Ruboty::Handlers::Cron
- Defined in:
- lib/ruboty/handlers/cron.rb
Constant Summary collapse
- NAMESPACE =
"cron"
Instance Attribute Summary collapse
-
#jobs ⇒ Object
writeonly
Sets the attribute jobs.
Instance Method Summary collapse
- #add(message) ⇒ Object
- #delete(message) ⇒ Object
-
#initialize(*args) ⇒ Cron
constructor
A new instance of Cron.
- #list(message) ⇒ Object
- #resume(message) ⇒ Object
- #suspend(message) ⇒ Object
Constructor Details
#initialize(*args) ⇒ Cron
Returns a new instance of Cron.
18 19 20 21 |
# File 'lib/ruboty/handlers/cron.rb', line 18 def initialize(*args) super remember end |
Instance Attribute Details
#jobs=(value) ⇒ Object
Sets the attribute jobs
16 17 18 |
# File 'lib/ruboty/handlers/cron.rb', line 16 def jobs=(value) @jobs = value end |
Instance Method Details
#add(message) ⇒ Object
23 24 25 26 |
# File 'lib/ruboty/handlers/cron.rb', line 23 def add() job = create() .reply("Job #{job.id} created") end |
#delete(message) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/ruboty/handlers/cron.rb', line 28 def delete() id = [:id].to_i if jobs.has_key?(id) jobs.delete(id) running_jobs[id].stop running_jobs.delete(id) .reply("Job #{id} deleted") else .reply("Job #{id} does not exist") end end |
#list(message) ⇒ Object
40 41 42 |
# File 'lib/ruboty/handlers/cron.rb', line 40 def list() .reply(summary, code: true) end |
#resume(message) ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/ruboty/handlers/cron.rb', line 60 def resume() id = [:id].to_i if jobs.has_key?(id) job = Ruboty::Cron::Job.new(jobs[id]) if job.suspended? job.resume(robot) jobs[id] = job.to_hash running_jobs[id] = job .reply("Job #{id} resumed") else .reply("Job #{id} is running") end else .reply("Job #{id} does not exist") end end |
#suspend(message) ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/ruboty/handlers/cron.rb', line 44 def suspend() id = [:id].to_i if jobs.has_key?(id) if running_jobs[id] running_jobs[id].suspend jobs[id] = running_jobs[id].to_hash running_jobs.delete(id) .reply("Job #{id} suspended") else .reply("Job #{id} had suspended") end else .reply("Job #{id} does not exist") end end |