mojodna-switchboard 0.0.9 → 0.0.10
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/Rakefile +1 -1
- data/lib/switchboard/core.rb +35 -6
- data/lib/switchboard/version.rb +1 -1
- data/switchboard.gemspec +2 -2
- metadata +2 -2
data/Rakefile
CHANGED
data/lib/switchboard/core.rb
CHANGED
@@ -43,12 +43,11 @@ module Switchboard
|
|
43
43
|
exit
|
44
44
|
end
|
45
45
|
|
46
|
-
|
47
|
-
|
48
|
-
deferred.kill
|
49
|
-
end
|
46
|
+
die
|
47
|
+
end
|
50
48
|
|
51
|
-
|
49
|
+
at_exit do
|
50
|
+
die
|
52
51
|
end
|
53
52
|
|
54
53
|
@settings = settings
|
@@ -60,8 +59,12 @@ module Switchboard
|
|
60
59
|
|
61
60
|
# Start running.
|
62
61
|
def run!
|
62
|
+
@main_thread = Thread.current
|
63
|
+
|
63
64
|
startup
|
64
65
|
|
66
|
+
@ready = true
|
67
|
+
|
65
68
|
if @main
|
66
69
|
instance_eval(&@main)
|
67
70
|
elsif loop?
|
@@ -119,6 +122,10 @@ module Switchboard
|
|
119
122
|
end
|
120
123
|
end
|
121
124
|
|
125
|
+
def ready?
|
126
|
+
@ready
|
127
|
+
end
|
128
|
+
|
122
129
|
hook(:exception, :iq, :message, :presence, :startup, :stream_connected, :shutdown)
|
123
130
|
|
124
131
|
protected
|
@@ -135,6 +142,22 @@ module Switchboard
|
|
135
142
|
settings["debug"]
|
136
143
|
end
|
137
144
|
|
145
|
+
def die
|
146
|
+
@deferreds.each do |name, deferred|
|
147
|
+
puts "Killing #{name}" if debug?
|
148
|
+
deferred.kill
|
149
|
+
end
|
150
|
+
|
151
|
+
shutdown!
|
152
|
+
|
153
|
+
timeout(15) do
|
154
|
+
sleep 0.1 until shutdown_complete?
|
155
|
+
end
|
156
|
+
|
157
|
+
rescue Timeout::Error
|
158
|
+
puts "Shutdown timed out."
|
159
|
+
end
|
160
|
+
|
138
161
|
def disconnect!
|
139
162
|
stream.close
|
140
163
|
end
|
@@ -244,7 +267,7 @@ module Switchboard
|
|
244
267
|
end
|
245
268
|
|
246
269
|
def shutdown(run_hooks = true)
|
247
|
-
if Thread.current !=
|
270
|
+
if Thread.current != @main_thread
|
248
271
|
$stderr.puts "Wrong thread! You should be using #shutdown! instead."
|
249
272
|
shutdown!
|
250
273
|
return
|
@@ -260,10 +283,16 @@ module Switchboard
|
|
260
283
|
|
261
284
|
puts "Shutting down..." if debug?
|
262
285
|
disconnect! if connected?
|
286
|
+
|
287
|
+
@shutdown_complete = true
|
263
288
|
end
|
264
289
|
|
265
290
|
def shutdown?
|
266
291
|
@shutdown
|
267
292
|
end
|
293
|
+
|
294
|
+
def shutdown_complete?
|
295
|
+
@shutdown_complete
|
296
|
+
end
|
268
297
|
end
|
269
298
|
end
|
data/lib/switchboard/version.rb
CHANGED
data/switchboard.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# this file is automatically generated
|
2
2
|
Gem::Specification.new do |s|
|
3
3
|
s.name = "switchboard"
|
4
|
-
s.version = "0.0.
|
4
|
+
s.version = "0.0.10"
|
5
5
|
s.summary = "XMPP toolkit."
|
6
6
|
s.description = "A toolkit for assembling XMPP clients and interacting with XMPP servers."
|
7
7
|
s.authors = ["Seth Fitzsimmons"]
|
@@ -11,5 +11,5 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.executables = ["switchboard"]
|
12
12
|
s.require_paths = ["lib"]
|
13
13
|
|
14
|
-
s.add_dependency("mojodna-xmpp4r", ">=", "0.4.0.
|
14
|
+
s.add_dependency("mojodna-xmpp4r", ">=", "0.4.0.2")
|
15
15
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mojodna-switchboard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Seth Fitzsimmons
|
@@ -22,7 +22,7 @@ dependencies:
|
|
22
22
|
version: "0"
|
23
23
|
- - "="
|
24
24
|
- !ruby/object:Gem::Version
|
25
|
-
version: 0.4.0.
|
25
|
+
version: 0.4.0.2
|
26
26
|
version:
|
27
27
|
description: A toolkit for assembling XMPP clients and interacting with XMPP servers.
|
28
28
|
email:
|