herpes 0.0.2.6 → 0.0.2.7
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.
- data/lib/herpes/rss.rb +1 -1
- data/lib/herpes/version.rb +1 -1
- data/lib/herpes.rb +17 -11
- metadata +5 -5
data/lib/herpes/rss.rb
CHANGED
data/lib/herpes/version.rb
CHANGED
data/lib/herpes.rb
CHANGED
@@ -237,6 +237,8 @@ class Herpes
|
|
237
237
|
end
|
238
238
|
|
239
239
|
def until_next
|
240
|
+
return 0 unless running?
|
241
|
+
|
240
242
|
callbacks = @callbacks.reject(&:calling?).reject(&:gonna_call?)
|
241
243
|
|
242
244
|
return if callbacks.empty?
|
@@ -255,6 +257,8 @@ class Herpes
|
|
255
257
|
while running?
|
256
258
|
sleep until_next
|
257
259
|
|
260
|
+
break unless running?
|
261
|
+
|
258
262
|
@callbacks.select {|callback|
|
259
263
|
callback.next_in <= 0 && !(callback.gonna_call? || callback.calling?)
|
260
264
|
}.each {|callback|
|
@@ -263,18 +267,20 @@ class Herpes
|
|
263
267
|
callback.gonna_call!
|
264
268
|
|
265
269
|
process {
|
266
|
-
|
270
|
+
begin
|
271
|
+
callback.call(self)
|
272
|
+
rescue Exception => e
|
273
|
+
(log_at ? File.open(log_at, ?a) : STDOUT).tap {|f|
|
274
|
+
f.write "[#{Time.now}] "
|
275
|
+
f.write "From: #{caller[0, 1].join "\n"}\n"
|
276
|
+
f.write "#{e.class}: #{e.message}\n"
|
277
|
+
f.write e.backtrace.to_a.join "\n"
|
278
|
+
f.write "\n\n"
|
279
|
+
}
|
280
|
+
end
|
267
281
|
}
|
268
282
|
}
|
269
283
|
end
|
270
|
-
rescue Exception => e
|
271
|
-
File.open(log_at, ?a) {|f|
|
272
|
-
f.write "[#{Time.now}] "
|
273
|
-
f.write "From: #{caller[0, 1].join "\n"}\n"
|
274
|
-
f.write "#{e.class}: #{e.message}\n"
|
275
|
-
f.write e.backtrace.to_a.join "\n"
|
276
|
-
f.write "\n\n"
|
277
|
-
} if log_at
|
278
284
|
ensure
|
279
285
|
save
|
280
286
|
|
@@ -282,6 +288,8 @@ class Herpes
|
|
282
288
|
end
|
283
289
|
|
284
290
|
def stop!
|
291
|
+
return unless running?
|
292
|
+
|
285
293
|
@running = false
|
286
294
|
|
287
295
|
wake_up
|
@@ -291,7 +299,5 @@ class Herpes
|
|
291
299
|
|
292
300
|
def stop
|
293
301
|
stop!
|
294
|
-
|
295
|
-
sleep 0.01 until stopped?
|
296
302
|
end
|
297
303
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: herpes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.2.
|
4
|
+
version: 0.0.2.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-02-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: threadpool
|
16
|
-
requirement: &
|
16
|
+
requirement: &16037080 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *16037080
|
25
25
|
description:
|
26
26
|
email: meh@paranoici.org
|
27
27
|
executables:
|
@@ -64,7 +64,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
64
64
|
version: '0'
|
65
65
|
requirements: []
|
66
66
|
rubyforge_project:
|
67
|
-
rubygems_version: 1.8.
|
67
|
+
rubygems_version: 1.8.15
|
68
68
|
signing_key:
|
69
69
|
specification_version: 3
|
70
70
|
summary: A event/notification handler.
|