slack-ruby-bot 0.12.0 → 0.13.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +3 -2
- data/.rubocop.yml +14 -1
- data/.rubocop_todo.yml +13 -36
- data/.travis.yml +7 -5
- data/CHANGELOG.md +9 -0
- data/DEPLOYMENT.md +61 -5
- data/Dangerfile +2 -0
- data/Gemfile +10 -3
- data/LICENSE.md +1 -1
- data/README.md +78 -10
- data/Rakefile +2 -0
- data/TUTORIAL.md +23 -0
- data/UPGRADING.md +8 -0
- data/examples/inventory/Gemfile +2 -0
- data/examples/inventory/inventorybot.rb +5 -1
- data/examples/market/Gemfile +4 -3
- data/examples/market/marketbot.rb +22 -15
- data/examples/minimal/Gemfile +2 -0
- data/examples/minimal/pongbot.rb +2 -0
- data/examples/weather/Gemfile +2 -0
- data/examples/weather/weatherbot.rb +2 -0
- data/lib/config/application.rb +4 -2
- data/lib/config/boot.rb +2 -0
- data/lib/config/environment.rb +3 -1
- data/lib/initializers/giphy.rb +2 -0
- data/lib/initializers/giphy_client.rb +2 -0
- data/lib/slack-ruby-bot.rb +3 -1
- data/lib/slack-ruby-bot/about.rb +3 -1
- data/lib/slack-ruby-bot/app.rb +2 -0
- data/lib/slack-ruby-bot/bot.rb +2 -0
- data/lib/slack-ruby-bot/client.rb +7 -4
- data/lib/slack-ruby-bot/commands.rb +2 -0
- data/lib/slack-ruby-bot/commands/about.rb +2 -0
- data/lib/slack-ruby-bot/commands/base.rb +12 -1
- data/lib/slack-ruby-bot/commands/help.rb +9 -7
- data/lib/slack-ruby-bot/commands/hi.rb +2 -0
- data/lib/slack-ruby-bot/commands/support/attrs.rb +2 -0
- data/lib/slack-ruby-bot/commands/support/help.rb +4 -0
- data/lib/slack-ruby-bot/commands/support/match.rb +4 -3
- data/lib/slack-ruby-bot/commands/unknown.rb +2 -0
- data/lib/slack-ruby-bot/config.rb +3 -0
- data/lib/slack-ruby-bot/hooks.rb +2 -0
- data/lib/slack-ruby-bot/hooks/hello.rb +22 -3
- data/lib/slack-ruby-bot/hooks/hook_support.rb +2 -0
- data/lib/slack-ruby-bot/hooks/message.rb +5 -2
- data/lib/slack-ruby-bot/hooks/set.rb +3 -1
- data/lib/slack-ruby-bot/mvc.rb +2 -0
- data/lib/slack-ruby-bot/mvc/controller/base.rb +4 -3
- data/lib/slack-ruby-bot/mvc/model/base.rb +2 -0
- data/lib/slack-ruby-bot/mvc/mvc.rb +2 -0
- data/lib/slack-ruby-bot/mvc/view/base.rb +2 -0
- data/lib/slack-ruby-bot/rspec.rb +3 -1
- data/lib/slack-ruby-bot/rspec/support/bots_for_tests.rb +2 -0
- data/lib/slack-ruby-bot/rspec/support/slack-ruby-bot/it_behaves_like_a_slack_bot.rb +2 -0
- data/lib/slack-ruby-bot/rspec/support/slack-ruby-bot/not_respond.rb +3 -5
- data/lib/slack-ruby-bot/rspec/support/slack-ruby-bot/respond_with_error.rb +3 -5
- data/lib/slack-ruby-bot/rspec/support/slack-ruby-bot/respond_with_slack_message.rb +16 -13
- data/lib/slack-ruby-bot/rspec/support/slack-ruby-bot/respond_with_slack_messages.rb +27 -18
- data/lib/slack-ruby-bot/rspec/support/slack-ruby-bot/start_typing.rb +32 -0
- data/lib/slack-ruby-bot/rspec/support/slack_api_key.rb +2 -0
- data/lib/slack-ruby-bot/rspec/support/slack_ruby_bot_configure.rb +2 -0
- data/lib/slack-ruby-bot/rspec/support/spec_helpers.rb +2 -0
- data/lib/slack-ruby-bot/rspec/support/vcr.rb +2 -0
- data/lib/slack-ruby-bot/server.rb +2 -0
- data/lib/slack-ruby-bot/support/loggable.rb +2 -0
- data/lib/slack-ruby-bot/version.rb +3 -1
- data/lib/slack_ruby_bot.rb +2 -0
- data/screenshots/create-app.png +0 -0
- data/slack-ruby-bot.gemspec +5 -2
- data/spec/slack-ruby-bot/app_spec.rb +2 -0
- data/spec/slack-ruby-bot/client_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/about_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/aliases_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/attachment_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/bot_message_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/bot_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/commands_command_classes_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/commands_permitted_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/commands_precedence_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/commands_regexp_escape_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/commands_regexp_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/commands_spaces_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/commands_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/commands_with_block_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/commands_with_expression_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/direct_messages_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/empty_text_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/help_spec.rb +15 -13
- data/spec/slack-ruby-bot/commands/hi_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/match_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/message_loop_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/nil_message_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/not_implemented_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/operators_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/operators_with_block_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/scan_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/send_gif_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/send_message_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/send_message_with_gif_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/support/attrs_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/support/help_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/support/match_spec.rb +2 -0
- data/spec/slack-ruby-bot/commands/unknown_spec.rb +2 -0
- data/spec/slack-ruby-bot/config_spec.rb +2 -0
- data/spec/slack-ruby-bot/hooks/hello_spec.rb +51 -0
- data/spec/slack-ruby-bot/hooks/hook_support_spec.rb +2 -0
- data/spec/slack-ruby-bot/hooks/message_spec.rb +3 -1
- data/spec/slack-ruby-bot/hooks/set_spec.rb +2 -0
- data/spec/slack-ruby-bot/initializers/giphy_client_spec.rb +2 -0
- data/spec/slack-ruby-bot/initializers/giphy_spec.rb +2 -0
- data/spec/slack-ruby-bot/mvc/controller/controller_to_command_spec.rb +2 -0
- data/spec/slack-ruby-bot/rspec/respond_with_error_spec.rb +2 -0
- data/spec/slack-ruby-bot/rspec/respond_with_slack_message_spec.rb +20 -0
- data/spec/slack-ruby-bot/rspec/respond_with_slack_messages_spec.rb +36 -0
- data/spec/slack-ruby-bot/rspec/start_typing_spec.rb +36 -0
- data/spec/slack-ruby-bot/server_spec.rb +2 -0
- data/spec/slack-ruby-bot/support/loggable_spec.rb +2 -0
- data/spec/slack-ruby-bot/version_spec.rb +2 -0
- data/spec/spec_helper.rb +2 -0
- metadata +12 -8
- data/screenshots/register-bot.png +0 -0
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
describe RSpec do
|
4
|
+
let! :command do
|
5
|
+
Class.new(SlackRubyBot::Commands::Base) do
|
6
|
+
command 'types on the correct channel' do |client, data, _match|
|
7
|
+
client.typing(channel: data.channel)
|
8
|
+
end
|
9
|
+
command 'types on another channel' do |client, _data, _match|
|
10
|
+
client.typing(channel: 'another')
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def app
|
16
|
+
SlackRubyBot::App.new
|
17
|
+
end
|
18
|
+
it 'types on any channel' do
|
19
|
+
expect(message: "#{SlackRubyBot.config.user} types on the correct channel", channel: 'channel')
|
20
|
+
.to start_typing
|
21
|
+
end
|
22
|
+
it 'types on another channel' do
|
23
|
+
expect(message: "#{SlackRubyBot.config.user} types on another channel", channel: 'channel')
|
24
|
+
.to start_typing(channel: 'another')
|
25
|
+
end
|
26
|
+
it 'types an invalid channel' do
|
27
|
+
expect(message: "#{SlackRubyBot.config.user} types on another channel", channel: 'channel')
|
28
|
+
.to_not start_typing(channel: 'invalid')
|
29
|
+
end
|
30
|
+
it 'correctly reports error' do
|
31
|
+
expect do
|
32
|
+
expect(message: "#{SlackRubyBot.config.user} types on another channel", channel: 'channel')
|
33
|
+
.to start_typing(channel: 'invalid')
|
34
|
+
end.to raise_error RSpec::Expectations::ExpectationNotMetError, "expected to receive typing with: {:channel=>\"invalid\"} once,\n received:{:channel=>\"another\"}"
|
35
|
+
end
|
36
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slack-ruby-bot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.13.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Doubrovkine
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hashie
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - '='
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
89
|
+
version: 0.80.1
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - '='
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
96
|
+
version: 0.80.1
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: vcr
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -197,6 +197,7 @@ files:
|
|
197
197
|
- lib/slack-ruby-bot/rspec/support/slack-ruby-bot/respond_with_error.rb
|
198
198
|
- lib/slack-ruby-bot/rspec/support/slack-ruby-bot/respond_with_slack_message.rb
|
199
199
|
- lib/slack-ruby-bot/rspec/support/slack-ruby-bot/respond_with_slack_messages.rb
|
200
|
+
- lib/slack-ruby-bot/rspec/support/slack-ruby-bot/start_typing.rb
|
200
201
|
- lib/slack-ruby-bot/rspec/support/slack_api_key.rb
|
201
202
|
- lib/slack-ruby-bot/rspec/support/slack_ruby_bot_configure.rb
|
202
203
|
- lib/slack-ruby-bot/rspec/support/spec_helpers.rb
|
@@ -206,11 +207,11 @@ files:
|
|
206
207
|
- lib/slack-ruby-bot/version.rb
|
207
208
|
- lib/slack_ruby_bot.rb
|
208
209
|
- screenshots/aliases.gif
|
210
|
+
- screenshots/create-app.png
|
209
211
|
- screenshots/demo.gif
|
210
212
|
- screenshots/dms.gif
|
211
213
|
- screenshots/help.png
|
212
214
|
- screenshots/market.gif
|
213
|
-
- screenshots/register-bot.png
|
214
215
|
- screenshots/weather.gif
|
215
216
|
- slack-ruby-bot.gemspec
|
216
217
|
- slack.png
|
@@ -249,6 +250,7 @@ files:
|
|
249
250
|
- spec/slack-ruby-bot/commands/support/match_spec.rb
|
250
251
|
- spec/slack-ruby-bot/commands/unknown_spec.rb
|
251
252
|
- spec/slack-ruby-bot/config_spec.rb
|
253
|
+
- spec/slack-ruby-bot/hooks/hello_spec.rb
|
252
254
|
- spec/slack-ruby-bot/hooks/hook_support_spec.rb
|
253
255
|
- spec/slack-ruby-bot/hooks/message_spec.rb
|
254
256
|
- spec/slack-ruby-bot/hooks/set_spec.rb
|
@@ -258,6 +260,7 @@ files:
|
|
258
260
|
- spec/slack-ruby-bot/rspec/respond_with_error_spec.rb
|
259
261
|
- spec/slack-ruby-bot/rspec/respond_with_slack_message_spec.rb
|
260
262
|
- spec/slack-ruby-bot/rspec/respond_with_slack_messages_spec.rb
|
263
|
+
- spec/slack-ruby-bot/rspec/start_typing_spec.rb
|
261
264
|
- spec/slack-ruby-bot/server_spec.rb
|
262
265
|
- spec/slack-ruby-bot/support/loggable_spec.rb
|
263
266
|
- spec/slack-ruby-bot/version_spec.rb
|
@@ -274,15 +277,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
274
277
|
requirements:
|
275
278
|
- - ">="
|
276
279
|
- !ruby/object:Gem::Version
|
277
|
-
version: '
|
280
|
+
version: '2.3'
|
278
281
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
279
282
|
requirements:
|
280
283
|
- - ">="
|
281
284
|
- !ruby/object:Gem::Version
|
282
285
|
version: 1.3.6
|
283
286
|
requirements: []
|
284
|
-
|
285
|
-
rubygems_version: 2.7.6
|
287
|
+
rubygems_version: 3.0.3
|
286
288
|
signing_key:
|
287
289
|
specification_version: 4
|
288
290
|
summary: The easiest way to write a Slack bot in Ruby.
|
@@ -322,6 +324,7 @@ test_files:
|
|
322
324
|
- spec/slack-ruby-bot/commands/support/match_spec.rb
|
323
325
|
- spec/slack-ruby-bot/commands/unknown_spec.rb
|
324
326
|
- spec/slack-ruby-bot/config_spec.rb
|
327
|
+
- spec/slack-ruby-bot/hooks/hello_spec.rb
|
325
328
|
- spec/slack-ruby-bot/hooks/hook_support_spec.rb
|
326
329
|
- spec/slack-ruby-bot/hooks/message_spec.rb
|
327
330
|
- spec/slack-ruby-bot/hooks/set_spec.rb
|
@@ -331,6 +334,7 @@ test_files:
|
|
331
334
|
- spec/slack-ruby-bot/rspec/respond_with_error_spec.rb
|
332
335
|
- spec/slack-ruby-bot/rspec/respond_with_slack_message_spec.rb
|
333
336
|
- spec/slack-ruby-bot/rspec/respond_with_slack_messages_spec.rb
|
337
|
+
- spec/slack-ruby-bot/rspec/start_typing_spec.rb
|
334
338
|
- spec/slack-ruby-bot/server_spec.rb
|
335
339
|
- spec/slack-ruby-bot/support/loggable_spec.rb
|
336
340
|
- spec/slack-ruby-bot/version_spec.rb
|
Binary file
|