wesabot 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. data/.gitignore +5 -0
  2. data/Gemfile +3 -0
  3. data/LICENSE +20 -0
  4. data/README.md +182 -0
  5. data/Rakefile +13 -0
  6. data/bin/wesabot +111 -0
  7. data/config/wesabot.yml.sample +4 -0
  8. data/lib/campfire/bot.rb +53 -0
  9. data/lib/campfire/configuration.rb +65 -0
  10. data/lib/campfire/message.rb +102 -0
  11. data/lib/campfire/polling_bot/plugin.rb +162 -0
  12. data/lib/campfire/polling_bot/plugins/airbrake/.gitignore +1 -0
  13. data/lib/campfire/polling_bot/plugins/airbrake/airbrake/api.rb +48 -0
  14. data/lib/campfire/polling_bot/plugins/airbrake/airbrake/error.rb +51 -0
  15. data/lib/campfire/polling_bot/plugins/airbrake/airbrake_plugin.rb +63 -0
  16. data/lib/campfire/polling_bot/plugins/airbrake/airbrake_plugin.yml.sample +3 -0
  17. data/lib/campfire/polling_bot/plugins/bookmark/bookmark.rb +15 -0
  18. data/lib/campfire/polling_bot/plugins/bookmark/bookmark_plugin.rb +89 -0
  19. data/lib/campfire/polling_bot/plugins/debug/debug_plugin.rb +23 -0
  20. data/lib/campfire/polling_bot/plugins/deploy/deploy_plugin.rb +155 -0
  21. data/lib/campfire/polling_bot/plugins/deploy/deploy_plugin.yml.sample +9 -0
  22. data/lib/campfire/polling_bot/plugins/deploy/spec/deploy_plugin_spec.rb +153 -0
  23. data/lib/campfire/polling_bot/plugins/greeting/greeting_plugin.rb +146 -0
  24. data/lib/campfire/polling_bot/plugins/greeting/greeting_setting.rb +19 -0
  25. data/lib/campfire/polling_bot/plugins/greeting/spec/greeting_plugin_spec.rb +51 -0
  26. data/lib/campfire/polling_bot/plugins/greeting/spec/greeting_setting_spec.rb +61 -0
  27. data/lib/campfire/polling_bot/plugins/help/help_plugin.rb +53 -0
  28. data/lib/campfire/polling_bot/plugins/history/history_plugin.rb +34 -0
  29. data/lib/campfire/polling_bot/plugins/image_search/displayed_image.rb +8 -0
  30. data/lib/campfire/polling_bot/plugins/image_search/image_search_plugin.rb +106 -0
  31. data/lib/campfire/polling_bot/plugins/interjector/interjector_plugin.rb +58 -0
  32. data/lib/campfire/polling_bot/plugins/kibitz/kibitz_plugin.rb +90 -0
  33. data/lib/campfire/polling_bot/plugins/kibitz/spec/kibitz_plugin_spec.rb +56 -0
  34. data/lib/campfire/polling_bot/plugins/plugin.db +0 -0
  35. data/lib/campfire/polling_bot/plugins/reload/reload_plugin.rb +24 -0
  36. data/lib/campfire/polling_bot/plugins/remind_me/remind_me_plugin.rb +149 -0
  37. data/lib/campfire/polling_bot/plugins/remind_me/reminder.rb +8 -0
  38. data/lib/campfire/polling_bot/plugins/shared/message.rb +37 -0
  39. data/lib/campfire/polling_bot/plugins/shared/user.rb +32 -0
  40. data/lib/campfire/polling_bot/plugins/sms/sms_plugin.rb +88 -0
  41. data/lib/campfire/polling_bot/plugins/sms/sms_setting.rb +7 -0
  42. data/lib/campfire/polling_bot/plugins/time/time_plugin.rb +17 -0
  43. data/lib/campfire/polling_bot/plugins/tweet/tweet.rb +52 -0
  44. data/lib/campfire/polling_bot/plugins/tweet/tweet_plugin.rb +117 -0
  45. data/lib/campfire/polling_bot/plugins/tweet/tweet_plugin.yml.sample +4 -0
  46. data/lib/campfire/polling_bot/plugins/twitter_search/twitter_search_plugin.rb +58 -0
  47. data/lib/campfire/polling_bot.rb +125 -0
  48. data/lib/campfire/sample_plugin.rb +56 -0
  49. data/lib/campfire/version.rb +3 -0
  50. data/lib/wesabot.rb +3 -0
  51. data/spec/.gitignore +1 -0
  52. data/spec/polling_bot_spec.rb +23 -0
  53. data/spec/spec_helper.rb +190 -0
  54. data/wesabot.gemspec +55 -0
  55. metadata +336 -0
metadata ADDED
@@ -0,0 +1,336 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: wesabot
3
+ version: !ruby/object:Gem::Version
4
+ hash: 21
5
+ prerelease:
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 1
10
+ version: 1.0.1
11
+ platform: ruby
12
+ authors:
13
+ - Brad Greenlee
14
+ - "Andr\xC3\xA9 Arko"
15
+ - Brian Donovan
16
+ autorequire:
17
+ bindir: bin
18
+ cert_chain: []
19
+
20
+ date: 2011-09-13 00:00:00 Z
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
23
+ name: tinder
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ hash: 11
31
+ segments:
32
+ - 1
33
+ - 7
34
+ - 0
35
+ version: 1.7.0
36
+ type: :runtime
37
+ version_requirements: *id001
38
+ - !ruby/object:Gem::Dependency
39
+ name: data_mapper
40
+ prerelease: false
41
+ requirement: &id002 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ~>
45
+ - !ruby/object:Gem::Version
46
+ hash: 13
47
+ segments:
48
+ - 1
49
+ - 1
50
+ version: "1.1"
51
+ type: :runtime
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: dm-sqlite-adapter
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ hash: 13
62
+ segments:
63
+ - 1
64
+ - 1
65
+ version: "1.1"
66
+ type: :runtime
67
+ version_requirements: *id003
68
+ - !ruby/object:Gem::Dependency
69
+ name: daemons
70
+ prerelease: false
71
+ requirement: &id004 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ hash: 3
77
+ segments:
78
+ - 0
79
+ version: "0"
80
+ type: :runtime
81
+ version_requirements: *id004
82
+ - !ruby/object:Gem::Dependency
83
+ name: i18n
84
+ prerelease: false
85
+ requirement: &id005 !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ hash: 3
91
+ segments:
92
+ - 0
93
+ version: "0"
94
+ type: :runtime
95
+ version_requirements: *id005
96
+ - !ruby/object:Gem::Dependency
97
+ name: firering
98
+ prerelease: false
99
+ requirement: &id006 !ruby/object:Gem::Requirement
100
+ none: false
101
+ requirements:
102
+ - - ~>
103
+ - !ruby/object:Gem::Version
104
+ hash: 31
105
+ segments:
106
+ - 1
107
+ - 2
108
+ - 0
109
+ version: 1.2.0
110
+ type: :runtime
111
+ version_requirements: *id006
112
+ - !ruby/object:Gem::Dependency
113
+ name: nokogiri
114
+ prerelease: false
115
+ requirement: &id007 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ hash: 3
121
+ segments:
122
+ - 0
123
+ version: "0"
124
+ type: :runtime
125
+ version_requirements: *id007
126
+ - !ruby/object:Gem::Dependency
127
+ name: rest-client
128
+ prerelease: false
129
+ requirement: &id008 !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ hash: 3
135
+ segments:
136
+ - 0
137
+ version: "0"
138
+ type: :runtime
139
+ version_requirements: *id008
140
+ - !ruby/object:Gem::Dependency
141
+ name: httparty
142
+ prerelease: false
143
+ requirement: &id009 !ruby/object:Gem::Requirement
144
+ none: false
145
+ requirements:
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ hash: 3
149
+ segments:
150
+ - 0
151
+ version: "0"
152
+ type: :runtime
153
+ version_requirements: *id009
154
+ - !ruby/object:Gem::Dependency
155
+ name: google-search
156
+ prerelease: false
157
+ requirement: &id010 !ruby/object:Gem::Requirement
158
+ none: false
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ hash: 3
163
+ segments:
164
+ - 0
165
+ version: "0"
166
+ type: :runtime
167
+ version_requirements: *id010
168
+ - !ruby/object:Gem::Dependency
169
+ name: chronic
170
+ prerelease: false
171
+ requirement: &id011 !ruby/object:Gem::Requirement
172
+ none: false
173
+ requirements:
174
+ - - ">="
175
+ - !ruby/object:Gem::Version
176
+ hash: 3
177
+ segments:
178
+ - 0
179
+ version: "0"
180
+ type: :runtime
181
+ version_requirements: *id011
182
+ - !ruby/object:Gem::Dependency
183
+ name: rspec
184
+ prerelease: false
185
+ requirement: &id012 !ruby/object:Gem::Requirement
186
+ none: false
187
+ requirements:
188
+ - - ~>
189
+ - !ruby/object:Gem::Version
190
+ hash: 23
191
+ segments:
192
+ - 2
193
+ - 6
194
+ - 0
195
+ version: 2.6.0
196
+ type: :development
197
+ version_requirements: *id012
198
+ - !ruby/object:Gem::Dependency
199
+ name: rake
200
+ prerelease: false
201
+ requirement: &id013 !ruby/object:Gem::Requirement
202
+ none: false
203
+ requirements:
204
+ - - ">="
205
+ - !ruby/object:Gem::Version
206
+ hash: 3
207
+ segments:
208
+ - 0
209
+ version: "0"
210
+ type: :development
211
+ version_requirements: *id013
212
+ - !ruby/object:Gem::Dependency
213
+ name: ruby-debug
214
+ prerelease: false
215
+ requirement: &id014 !ruby/object:Gem::Requirement
216
+ none: false
217
+ requirements:
218
+ - - ">="
219
+ - !ruby/object:Gem::Version
220
+ hash: 3
221
+ segments:
222
+ - 0
223
+ version: "0"
224
+ type: :development
225
+ version_requirements: *id014
226
+ description: |-
227
+ Wesabot is a Campfire bot framework we've been using and
228
+ developing at Wesabe since not long after our inception. It started as a
229
+ way to avoid parking tickets near our office ("Wes, remind me in 2 hours
230
+ to move my car"), and has evolved into an essential work aid. When you
231
+ enter the room, Wes greets you with a link to the point in the transcript
232
+ where you last left. You can also ask him to bookmark points in the
233
+ transcript, send an sms message (well, an email) to someone, or even post
234
+ a tweet, among other things. His functionality is easily extendable via
235
+ plugins.
236
+ email:
237
+ - brad@footle.org
238
+ - andre@arko.net
239
+ - me@brian-donovan.com
240
+ executables:
241
+ - wesabot
242
+ extensions: []
243
+
244
+ extra_rdoc_files: []
245
+
246
+ files:
247
+ - .gitignore
248
+ - Gemfile
249
+ - LICENSE
250
+ - README.md
251
+ - Rakefile
252
+ - bin/wesabot
253
+ - config/wesabot.yml.sample
254
+ - lib/campfire/bot.rb
255
+ - lib/campfire/configuration.rb
256
+ - lib/campfire/message.rb
257
+ - lib/campfire/polling_bot.rb
258
+ - lib/campfire/polling_bot/plugin.rb
259
+ - lib/campfire/polling_bot/plugins/airbrake/.gitignore
260
+ - lib/campfire/polling_bot/plugins/airbrake/airbrake/api.rb
261
+ - lib/campfire/polling_bot/plugins/airbrake/airbrake/error.rb
262
+ - lib/campfire/polling_bot/plugins/airbrake/airbrake_plugin.rb
263
+ - lib/campfire/polling_bot/plugins/airbrake/airbrake_plugin.yml.sample
264
+ - lib/campfire/polling_bot/plugins/bookmark/bookmark.rb
265
+ - lib/campfire/polling_bot/plugins/bookmark/bookmark_plugin.rb
266
+ - lib/campfire/polling_bot/plugins/debug/debug_plugin.rb
267
+ - lib/campfire/polling_bot/plugins/deploy/deploy_plugin.rb
268
+ - lib/campfire/polling_bot/plugins/deploy/deploy_plugin.yml.sample
269
+ - lib/campfire/polling_bot/plugins/deploy/spec/deploy_plugin_spec.rb
270
+ - lib/campfire/polling_bot/plugins/greeting/greeting_plugin.rb
271
+ - lib/campfire/polling_bot/plugins/greeting/greeting_setting.rb
272
+ - lib/campfire/polling_bot/plugins/greeting/spec/greeting_plugin_spec.rb
273
+ - lib/campfire/polling_bot/plugins/greeting/spec/greeting_setting_spec.rb
274
+ - lib/campfire/polling_bot/plugins/help/help_plugin.rb
275
+ - lib/campfire/polling_bot/plugins/history/history_plugin.rb
276
+ - lib/campfire/polling_bot/plugins/image_search/displayed_image.rb
277
+ - lib/campfire/polling_bot/plugins/image_search/image_search_plugin.rb
278
+ - lib/campfire/polling_bot/plugins/interjector/interjector_plugin.rb
279
+ - lib/campfire/polling_bot/plugins/kibitz/kibitz_plugin.rb
280
+ - lib/campfire/polling_bot/plugins/kibitz/spec/kibitz_plugin_spec.rb
281
+ - lib/campfire/polling_bot/plugins/plugin.db
282
+ - lib/campfire/polling_bot/plugins/reload/reload_plugin.rb
283
+ - lib/campfire/polling_bot/plugins/remind_me/remind_me_plugin.rb
284
+ - lib/campfire/polling_bot/plugins/remind_me/reminder.rb
285
+ - lib/campfire/polling_bot/plugins/shared/message.rb
286
+ - lib/campfire/polling_bot/plugins/shared/user.rb
287
+ - lib/campfire/polling_bot/plugins/sms/sms_plugin.rb
288
+ - lib/campfire/polling_bot/plugins/sms/sms_setting.rb
289
+ - lib/campfire/polling_bot/plugins/time/time_plugin.rb
290
+ - lib/campfire/polling_bot/plugins/tweet/tweet.rb
291
+ - lib/campfire/polling_bot/plugins/tweet/tweet_plugin.rb
292
+ - lib/campfire/polling_bot/plugins/tweet/tweet_plugin.yml.sample
293
+ - lib/campfire/polling_bot/plugins/twitter_search/twitter_search_plugin.rb
294
+ - lib/campfire/sample_plugin.rb
295
+ - lib/campfire/version.rb
296
+ - lib/wesabot.rb
297
+ - spec/.gitignore
298
+ - spec/polling_bot_spec.rb
299
+ - spec/spec_helper.rb
300
+ - wesabot.gemspec
301
+ homepage: https://github.com/hackarts/wesabot
302
+ licenses: []
303
+
304
+ post_install_message:
305
+ rdoc_options: []
306
+
307
+ require_paths:
308
+ - lib
309
+ required_ruby_version: !ruby/object:Gem::Requirement
310
+ none: false
311
+ requirements:
312
+ - - ">="
313
+ - !ruby/object:Gem::Version
314
+ hash: 3
315
+ segments:
316
+ - 0
317
+ version: "0"
318
+ required_rubygems_version: !ruby/object:Gem::Requirement
319
+ none: false
320
+ requirements:
321
+ - - ">="
322
+ - !ruby/object:Gem::Version
323
+ hash: 3
324
+ segments:
325
+ - 0
326
+ version: "0"
327
+ requirements: []
328
+
329
+ rubyforge_project: wesabot
330
+ rubygems_version: 1.8.10
331
+ signing_key:
332
+ specification_version: 3
333
+ summary: Wesabe's Campfire bot framework
334
+ test_files:
335
+ - spec/polling_bot_spec.rb
336
+ - spec/spec_helper.rb