ellen-cron 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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