absentee_camper 0.0.5 → 0.0.6
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/absentee_camper/monitor.rb +31 -0
- data/lib/absentee_camper/version.rb +1 -1
- metadata +11 -11
@@ -5,6 +5,8 @@ module AbsenteeCamper
|
|
5
5
|
def initialize
|
6
6
|
@room = Room.new(Config.room_id)
|
7
7
|
@room.join
|
8
|
+
|
9
|
+
trap_signals
|
8
10
|
end
|
9
11
|
|
10
12
|
def users_in_room(room)
|
@@ -73,9 +75,38 @@ module AbsenteeCamper
|
|
73
75
|
end
|
74
76
|
end
|
75
77
|
end
|
78
|
+
|
79
|
+
# If the stream ends, try to reconnect
|
80
|
+
retry_connection
|
76
81
|
rescue Yajl::HttpStream::HttpError => e
|
77
82
|
log "Error connecting to campfire: #{e.message}"
|
78
83
|
end
|
79
84
|
end
|
85
|
+
|
86
|
+
private
|
87
|
+
|
88
|
+
def retry_connection
|
89
|
+
times = 3
|
90
|
+
|
91
|
+
begin
|
92
|
+
# Campfire API tells us to wait a few seconds before retrying the connection
|
93
|
+
sleep(10)
|
94
|
+
|
95
|
+
log "retrying connection"
|
96
|
+
|
97
|
+
@room.join
|
98
|
+
start
|
99
|
+
rescue
|
100
|
+
log $!
|
101
|
+
|
102
|
+
times -= 1
|
103
|
+
retry if times > 0
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
def trap_signals
|
108
|
+
trap('INT') { @room.leave and exit }
|
109
|
+
trap('TERM') { @room.leave and exit }
|
110
|
+
end
|
80
111
|
end
|
81
112
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: absentee_camper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -14,7 +14,7 @@ date: 2011-09-20 00:00:00.000000000Z
|
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: settingslogic
|
17
|
-
requirement: &
|
17
|
+
requirement: &70131284645320 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '2.0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70131284645320
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: yajl-ruby
|
28
|
-
requirement: &
|
28
|
+
requirement: &70131284644820 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0.8'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *70131284644820
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: httparty
|
39
|
-
requirement: &
|
39
|
+
requirement: &70131284644360 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ~>
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: '0.7'
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *70131284644360
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: pony
|
50
|
-
requirement: &
|
50
|
+
requirement: &70131284643900 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ~>
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: '1.3'
|
56
56
|
type: :runtime
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *70131284643900
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: rspec
|
61
|
-
requirement: &
|
61
|
+
requirement: &70131284643440 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ~>
|
@@ -66,7 +66,7 @@ dependencies:
|
|
66
66
|
version: 2.6.0
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *70131284643440
|
70
70
|
description: Monitors a Campfire room for @mentions, and emails the @mentioned user
|
71
71
|
with the message if they aren't in the room.
|
72
72
|
email:
|