ellen-cron 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 355331b41bd2bfd9f8c496d9beeb5fddfb15ee3a
4
- data.tar.gz: 9bef52783244915789b8b098996d8dbee4c186f2
3
+ metadata.gz: f7314eb2098d571e8a1bd1cd851729aac8d12e24
4
+ data.tar.gz: 1d4a0c9dc2705fc9e0cf6255219608495912dbed
5
5
  SHA512:
6
- metadata.gz: 04c3bd2d1519dda40d21069d50cedb0e3acab9bab57b48e8c9f39b707bd9f0a7e05d5dc65a7462de7094d596ead2358f8f7fb5f0419ff31a9da6bf0b6947904d
7
- data.tar.gz: 5e0f5c210e4bf9ca20719c054c7ff67205cb22e2b5ac82abc3cfc9f3f2e166fc166bf6bddafca6c1b4b6b9dc08112a59c005aea449e10b309110fbf6d5bcf3ad
6
+ metadata.gz: 68c6359cc7ec882942ff454721877b9c983ad6ecac5fe5f45d5e2cf32ec5e05f9331d89d72d3e294ba6aa1b1d8635399577d6b70073b63cf866c79fe8d3bd96f
7
+ data.tar.gz: 8ab87fd81c36fcd9ca555e15f32da6e74528b9619b939b923c939a98ab70e4714032618ea901e3d18bc2b3d844ddb0b92f01cd17726c538dd4f49d29dcee6dd7
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.0.3
2
+ * Remember registered jobs after initialized
3
+ * Stop running job before its deletion
4
+
1
5
  ## 0.0.2
2
6
  * Support the new Brain interface
3
7
 
@@ -1,5 +1,5 @@
1
1
  module Ellen
2
2
  module Cron
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.3"
4
4
  end
5
5
  end
@@ -11,6 +11,11 @@ module Ellen
11
11
 
12
12
  attr_writer :jobs
13
13
 
14
+ def initialize(*args)
15
+ super
16
+ remember
17
+ end
18
+
14
19
  def add(message)
15
20
  job = create(message)
16
21
  robot.say("Job #{job.id} created")
@@ -19,8 +24,9 @@ module Ellen
19
24
  def delete(message)
20
25
  id = message[1].to_i
21
26
  if jobs.has_key?(id)
22
- jobs[id].stop
23
27
  jobs.delete(id)
28
+ running_jobs[id].stop
29
+ running_jobs.delete(id)
24
30
  robot.say("Job #{id} deleted")
25
31
  else
26
32
  robot.say("Job #{id} does not exist")
@@ -33,6 +39,14 @@ module Ellen
33
39
 
34
40
  private
35
41
 
42
+ def remember
43
+ jobs.each do |id, attributes|
44
+ job = Ellen::Cron::Job.new(attributes)
45
+ running_jobs[id] = job
46
+ job.start(robot)
47
+ end
48
+ end
49
+
36
50
  def jobs
37
51
  robot.brain.data[NAMESPACE] ||= {}
38
52
  end
@@ -41,6 +55,7 @@ module Ellen
41
55
  job = Ellen::Cron::Job.new(id: generate_id, schedule: message[1], body: message[2])
42
56
  jobs[job.id] = job.to_hash
43
57
  job.start(robot)
58
+ running_jobs[job.id] = job
44
59
  job
45
60
  end
46
61
 
@@ -68,6 +83,10 @@ module Ellen
68
83
  break id unless jobs.has_key?(id)
69
84
  end
70
85
  end
86
+
87
+ def running_jobs
88
+ @running_jobs ||= {}
89
+ end
71
90
  end
72
91
  end
73
92
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ellen-cron
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Nakamura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-22 00:00:00.000000000 Z
11
+ date: 2014-04-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport