lita 2.7.2 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -1
  3. data/.rubocop.yml +26 -0
  4. data/CONTRIBUTING.md +1 -1
  5. data/README.md +6 -470
  6. data/Rakefile +3 -3
  7. data/lib/lita.rb +27 -19
  8. data/lib/lita/adapter.rb +46 -5
  9. data/lib/lita/adapters/shell.rb +18 -13
  10. data/lib/lita/authorization.rb +1 -1
  11. data/lib/lita/cli.rb +37 -23
  12. data/lib/lita/common.rb +35 -0
  13. data/lib/lita/config.rb +33 -13
  14. data/lib/lita/daemon.rb +15 -12
  15. data/lib/lita/handler.rb +49 -9
  16. data/lib/lita/handlers/authorization.rb +47 -47
  17. data/lib/lita/handlers/help.rb +16 -17
  18. data/lib/lita/handlers/info.rb +38 -0
  19. data/lib/lita/handlers/room.rb +32 -0
  20. data/lib/lita/http_route.rb +30 -19
  21. data/lib/lita/message.rb +3 -6
  22. data/lib/lita/rack_app.rb +11 -89
  23. data/lib/lita/response.rb +5 -15
  24. data/lib/lita/robot.rb +26 -10
  25. data/lib/lita/rspec.rb +6 -8
  26. data/lib/lita/rspec/handler.rb +49 -121
  27. data/lib/lita/rspec/matchers/event_subscription_matcher.rb +67 -0
  28. data/lib/lita/rspec/matchers/http_route_matcher.rb +72 -0
  29. data/lib/lita/rspec/matchers/route_matcher.rb +69 -0
  30. data/lib/lita/source.rb +5 -18
  31. data/lib/lita/timer.rb +45 -0
  32. data/lib/lita/user.rb +51 -4
  33. data/lib/lita/util.rb +5 -5
  34. data/lib/lita/version.rb +1 -1
  35. data/lita.gemspec +6 -3
  36. data/spec/lita/adapter_spec.rb +10 -2
  37. data/spec/lita/adapters/shell_spec.rb +3 -3
  38. data/spec/lita/authorization_spec.rb +11 -11
  39. data/spec/lita/config_spec.rb +8 -0
  40. data/spec/lita/daemon_spec.rb +65 -0
  41. data/spec/lita/handler_spec.rb +50 -11
  42. data/spec/lita/handlers/authorization_spec.rb +1 -1
  43. data/spec/lita/handlers/info_spec.rb +31 -0
  44. data/spec/lita/handlers/room_spec.rb +20 -0
  45. data/spec/lita/logger_spec.rb +1 -1
  46. data/spec/lita/message_spec.rb +4 -4
  47. data/spec/lita/rack_app_spec.rb +92 -0
  48. data/spec/lita/response_spec.rb +17 -8
  49. data/spec/lita/robot_spec.rb +23 -14
  50. data/spec/lita/rspec_spec.rb +1 -1
  51. data/spec/lita/source_spec.rb +0 -16
  52. data/spec/lita/timer_spec.rb +30 -0
  53. data/spec/lita/user_spec.rb +66 -6
  54. data/spec/lita_spec.rb +37 -0
  55. data/spec/spec_helper.rb +11 -0
  56. data/templates/locales/en.yml +90 -0
  57. data/templates/plugin/Rakefile +1 -1
  58. data/templates/plugin/lib/lita/plugin_type/plugin.tt +4 -0
  59. data/templates/plugin/locales/en.yml.tt +4 -0
  60. metadata +77 -18
  61. data/lib/lita/handlers/web.rb +0 -25
  62. data/spec/lita/handlers/web_spec.rb +0 -19
@@ -0,0 +1,4 @@
1
+ en:
2
+ lita:
3
+ <%= config[:namespace] %>:
4
+ <%= config[:name] %>:
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lita
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.2
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jimmy Cuadra
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-06 00:00:00.000000000 Z
11
+ date: 2014-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,6 +38,48 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.8.7
41
+ - !ruby/object:Gem::Dependency
42
+ name: http_router
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 0.11.1
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 0.11.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: ice_nine
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 0.11.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 0.11.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: i18n
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 0.6.9
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 0.6.9
41
83
  - !ruby/object:Gem::Dependency
42
84
  name: multi_json
43
85
  requirement: !ruby/object:Gem::Requirement
@@ -53,47 +95,47 @@ dependencies:
53
95
  - !ruby/object:Gem::Version
54
96
  version: 1.7.7
55
97
  - !ruby/object:Gem::Dependency
56
- name: rack
98
+ name: puma
57
99
  requirement: !ruby/object:Gem::Requirement
58
100
  requirements:
59
101
  - - ">="
60
102
  - !ruby/object:Gem::Version
61
- version: 1.5.2
103
+ version: 2.7.1
62
104
  type: :runtime
63
105
  prerelease: false
64
106
  version_requirements: !ruby/object:Gem::Requirement
65
107
  requirements:
66
108
  - - ">="
67
109
  - !ruby/object:Gem::Version
68
- version: 1.5.2
110
+ version: 2.7.1
69
111
  - !ruby/object:Gem::Dependency
70
- name: redis-namespace
112
+ name: rack
71
113
  requirement: !ruby/object:Gem::Requirement
72
114
  requirements:
73
115
  - - ">="
74
116
  - !ruby/object:Gem::Version
75
- version: 1.3.0
117
+ version: 1.5.2
76
118
  type: :runtime
77
119
  prerelease: false
78
120
  version_requirements: !ruby/object:Gem::Requirement
79
121
  requirements:
80
122
  - - ">="
81
123
  - !ruby/object:Gem::Version
82
- version: 1.3.0
124
+ version: 1.5.2
83
125
  - !ruby/object:Gem::Dependency
84
- name: thin
126
+ name: redis-namespace
85
127
  requirement: !ruby/object:Gem::Requirement
86
128
  requirements:
87
129
  - - ">="
88
130
  - !ruby/object:Gem::Version
89
- version: 1.5.1
131
+ version: 1.3.0
90
132
  type: :runtime
91
133
  prerelease: false
92
134
  version_requirements: !ruby/object:Gem::Requirement
93
135
  requirements:
94
136
  - - ">="
95
137
  - !ruby/object:Gem::Version
96
- version: 1.5.1
138
+ version: 1.3.0
97
139
  - !ruby/object:Gem::Dependency
98
140
  name: thor
99
141
  requirement: !ruby/object:Gem::Requirement
@@ -128,14 +170,14 @@ dependencies:
128
170
  requirements:
129
171
  - - ">="
130
172
  - !ruby/object:Gem::Version
131
- version: '2.14'
173
+ version: 3.0.0.beta1
132
174
  type: :development
133
175
  prerelease: false
134
176
  version_requirements: !ruby/object:Gem::Requirement
135
177
  requirements:
136
178
  - - ">="
137
179
  - !ruby/object:Gem::Version
138
- version: '2.14'
180
+ version: 3.0.0.beta1
139
181
  - !ruby/object:Gem::Dependency
140
182
  name: simplecov
141
183
  requirement: !ruby/object:Gem::Requirement
@@ -179,7 +221,7 @@ dependencies:
179
221
  - !ruby/object:Gem::Version
180
222
  version: '0'
181
223
  - !ruby/object:Gem::Dependency
182
- name: cane
224
+ name: rubocop
183
225
  requirement: !ruby/object:Gem::Requirement
184
226
  requirements:
185
227
  - - ">="
@@ -201,6 +243,7 @@ extensions: []
201
243
  extra_rdoc_files: []
202
244
  files:
203
245
  - ".gitignore"
246
+ - ".rubocop.yml"
204
247
  - ".travis.yml"
205
248
  - CONTRIBUTING.md
206
249
  - Gemfile
@@ -213,12 +256,14 @@ files:
213
256
  - lib/lita/adapters/shell.rb
214
257
  - lib/lita/authorization.rb
215
258
  - lib/lita/cli.rb
259
+ - lib/lita/common.rb
216
260
  - lib/lita/config.rb
217
261
  - lib/lita/daemon.rb
218
262
  - lib/lita/handler.rb
219
263
  - lib/lita/handlers/authorization.rb
220
264
  - lib/lita/handlers/help.rb
221
- - lib/lita/handlers/web.rb
265
+ - lib/lita/handlers/info.rb
266
+ - lib/lita/handlers/room.rb
222
267
  - lib/lita/http_route.rb
223
268
  - lib/lita/logger.rb
224
269
  - lib/lita/message.rb
@@ -227,7 +272,11 @@ files:
227
272
  - lib/lita/robot.rb
228
273
  - lib/lita/rspec.rb
229
274
  - lib/lita/rspec/handler.rb
275
+ - lib/lita/rspec/matchers/event_subscription_matcher.rb
276
+ - lib/lita/rspec/matchers/http_route_matcher.rb
277
+ - lib/lita/rspec/matchers/route_matcher.rb
230
278
  - lib/lita/source.rb
279
+ - lib/lita/timer.rb
231
280
  - lib/lita/user.rb
232
281
  - lib/lita/util.rb
233
282
  - lib/lita/version.rb
@@ -236,20 +285,25 @@ files:
236
285
  - spec/lita/adapters/shell_spec.rb
237
286
  - spec/lita/authorization_spec.rb
238
287
  - spec/lita/config_spec.rb
288
+ - spec/lita/daemon_spec.rb
239
289
  - spec/lita/handler_spec.rb
240
290
  - spec/lita/handlers/authorization_spec.rb
241
291
  - spec/lita/handlers/help_spec.rb
242
- - spec/lita/handlers/web_spec.rb
292
+ - spec/lita/handlers/info_spec.rb
293
+ - spec/lita/handlers/room_spec.rb
243
294
  - spec/lita/logger_spec.rb
244
295
  - spec/lita/message_spec.rb
296
+ - spec/lita/rack_app_spec.rb
245
297
  - spec/lita/response_spec.rb
246
298
  - spec/lita/robot_spec.rb
247
299
  - spec/lita/rspec_spec.rb
248
300
  - spec/lita/source_spec.rb
301
+ - spec/lita/timer_spec.rb
249
302
  - spec/lita/user_spec.rb
250
303
  - spec/lita/util_spec.rb
251
304
  - spec/lita_spec.rb
252
305
  - spec/spec_helper.rb
306
+ - templates/locales/en.yml
253
307
  - templates/plugin/Gemfile
254
308
  - templates/plugin/LICENSE.tt
255
309
  - templates/plugin/README.tt
@@ -258,6 +312,7 @@ files:
258
312
  - templates/plugin/gitignore
259
313
  - templates/plugin/lib/lita/plugin_type/plugin.tt
260
314
  - templates/plugin/lib/plugin.tt
315
+ - templates/plugin/locales/en.yml.tt
261
316
  - templates/plugin/spec/lita/plugin_type/plugin_spec.tt
262
317
  - templates/plugin/spec/spec_helper.tt
263
318
  - templates/plugin/travis.yml
@@ -283,7 +338,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
283
338
  version: '0'
284
339
  requirements: []
285
340
  rubyforge_project:
286
- rubygems_version: 2.2.0
341
+ rubygems_version: 2.2.2
287
342
  signing_key:
288
343
  specification_version: 4
289
344
  summary: A multi-service chat bot with extendable behavior.
@@ -292,16 +347,20 @@ test_files:
292
347
  - spec/lita/adapters/shell_spec.rb
293
348
  - spec/lita/authorization_spec.rb
294
349
  - spec/lita/config_spec.rb
350
+ - spec/lita/daemon_spec.rb
295
351
  - spec/lita/handler_spec.rb
296
352
  - spec/lita/handlers/authorization_spec.rb
297
353
  - spec/lita/handlers/help_spec.rb
298
- - spec/lita/handlers/web_spec.rb
354
+ - spec/lita/handlers/info_spec.rb
355
+ - spec/lita/handlers/room_spec.rb
299
356
  - spec/lita/logger_spec.rb
300
357
  - spec/lita/message_spec.rb
358
+ - spec/lita/rack_app_spec.rb
301
359
  - spec/lita/response_spec.rb
302
360
  - spec/lita/robot_spec.rb
303
361
  - spec/lita/rspec_spec.rb
304
362
  - spec/lita/source_spec.rb
363
+ - spec/lita/timer_spec.rb
305
364
  - spec/lita/user_spec.rb
306
365
  - spec/lita/util_spec.rb
307
366
  - spec/lita_spec.rb
@@ -1,25 +0,0 @@
1
- module Lita
2
- module Handlers
3
- # Provides an HTTP route with basic information about the running robot.
4
- class Web < Handler
5
- http.get "/lita/info", :info
6
-
7
- # Returns JSON with basic information about the robot.
8
- # @param request [Rack::Request] The HTTP request.
9
- # @param response [Rack::Response] The HTTP response.
10
- # @return [void]
11
- def info(request, response)
12
- response.headers["Content-Type"] = "application/json"
13
- json = MultiJson.dump(
14
- lita_version: Lita::VERSION,
15
- adapter: Lita.config.robot.adapter,
16
- robot_name: robot.name,
17
- robot_mention_name: robot.mention_name
18
- )
19
- response.write(json)
20
- end
21
- end
22
-
23
- Lita.register_handler(Web)
24
- end
25
- end
@@ -1,19 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Lita::Handlers::Web, lita_handler: true do
4
- it { routes_http(:get, "/lita/info").to(:info) }
5
- it { doesnt_route_http(:post, "/lita/info").to(:info) }
6
-
7
- let(:request) { double("Rack::Request") }
8
- let(:response) { Rack::Response.new }
9
-
10
- describe "#info" do
11
- it "returns JSON with info about the running robot" do
12
- subject.info(request, response)
13
- expect(response.headers["Content-Type"]).to eq("application/json")
14
- expect(response.body.join).to include(
15
- %{"lita_version":"#{Lita::VERSION}"}
16
- )
17
- end
18
- end
19
- end