slack-ruby-bot 0.12.0 → 0.16.1
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.
- checksums.yaml +4 -4
- data/.github/FUNDING.yml +1 -0
- data/.gitignore +3 -2
- data/.rubocop.yml +14 -1
- data/.rubocop_todo.yml +14 -42
- data/.travis.yml +11 -13
- data/CHANGELOG.md +33 -0
- data/CONTRIBUTING.md +5 -1
- data/DEPLOYMENT.md +63 -9
- data/Dangerfile +4 -0
- data/Gemfile +11 -7
- data/LICENSE.md +1 -1
- data/MIGRATION.md +13 -0
- data/README.md +131 -63
- data/Rakefile +2 -0
- data/TUTORIAL.md +23 -0
- data/UPGRADING.md +44 -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 +3 -1
- 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/slack-ruby-bot.rb +3 -1
- data/lib/slack-ruby-bot/about.rb +3 -1
- data/lib/slack-ruby-bot/app.rb +18 -12
- data/lib/slack-ruby-bot/bot.rb +3 -1
- data/lib/slack-ruby-bot/client.rb +25 -23
- data/lib/slack-ruby-bot/commands.rb +2 -0
- data/lib/slack-ruby-bot/commands/about.rb +3 -1
- data/lib/slack-ruby-bot/commands/base.rb +13 -21
- data/lib/slack-ruby-bot/commands/help.rb +10 -8
- data/lib/slack-ruby-bot/commands/hi.rb +3 -1
- 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 +3 -1
- data/lib/slack-ruby-bot/config.rb +7 -7
- 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 -6
- data/lib/slack-ruby-bot/hooks/message.rb +11 -10
- 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 +4 -1
- 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 -7
- data/lib/slack-ruby-bot/rspec/support/slack-ruby-bot/respond_with_slack_message.rb +15 -14
- data/lib/slack-ruby-bot/rspec/support/slack-ruby-bot/respond_with_slack_messages.rb +26 -19
- 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 +3 -1
- 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/server.rb +5 -4
- 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-classic-app.png +0 -0
- data/slack-ruby-bot.gemspec +6 -2
- data/spec/slack-ruby-bot/app_spec.rb +64 -1
- data/spec/slack-ruby-bot/client_spec.rb +103 -28
- 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_messages_spec.rb +26 -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/non_breaking_space_spec.rb +29 -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_message_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 -57
- data/spec/slack-ruby-bot/hooks/hello_spec.rb +51 -0
- data/spec/slack-ruby-bot/hooks/hook_support_spec.rb +2 -5
- data/spec/slack-ruby-bot/hooks/message_spec.rb +8 -35
- data/spec/slack-ruby-bot/hooks/set_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 +6 -16
- 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 +3 -6
- data/{lib/slack-ruby-bot/rspec → spec}/support/fixtures/slack/migration_in_progress.yml +0 -0
- data/{lib/slack-ruby-bot/rspec → spec}/support/vcr.rb +2 -0
- metadata +40 -27
- data/lib/initializers/giphy.rb +0 -8
- data/lib/initializers/giphy_client.rb +0 -39
- data/lib/slack-ruby-bot/rspec/support/fixtures/slack/giphy_burrito.yml +0 -69
- data/lib/slack-ruby-bot/rspec/support/fixtures/slack/giphy_client_burrito.yml +0 -71
- data/lib/slack-ruby-bot/rspec/support/fixtures/slack/giphy_client_burrito_rated_y.yml +0 -71
- data/screenshots/register-bot.png +0 -0
- data/spec/slack-ruby-bot/commands/send_gif_spec.rb +0 -25
- data/spec/slack-ruby-bot/commands/send_message_with_gif_spec.rb +0 -38
- data/spec/slack-ruby-bot/initializers/giphy_client_spec.rb +0 -28
- data/spec/slack-ruby-bot/initializers/giphy_spec.rb +0 -18
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
describe RSpec do
|
|
2
4
|
let! :command do
|
|
3
5
|
Class.new(SlackRubyBot::Commands::Base) do
|
|
6
|
+
command 'no message' do |client, data, _match|
|
|
7
|
+
end
|
|
4
8
|
command 'single message with as_user' do |client, data, _match|
|
|
5
9
|
client.say(text: 'single response', channel: data.channel, as_user: true)
|
|
6
10
|
end
|
|
@@ -25,6 +29,22 @@ describe RSpec do
|
|
|
25
29
|
expect(message: "#{SlackRubyBot.config.user} single message")
|
|
26
30
|
.to respond_with_slack_message(/single response/i)
|
|
27
31
|
end
|
|
32
|
+
it 'respond with any message' do
|
|
33
|
+
expect(message: "#{SlackRubyBot.config.user} single message")
|
|
34
|
+
.to respond_with_slack_message
|
|
35
|
+
end
|
|
36
|
+
it 'correctly reports error' do
|
|
37
|
+
expect do
|
|
38
|
+
expect(message: "#{SlackRubyBot.config.user} single message")
|
|
39
|
+
.to respond_with_slack_message('another response')
|
|
40
|
+
end.to raise_error RSpec::Expectations::ExpectationNotMetError, "expected to receive message with text: another response once,\n received:[{:text=>\"single response\", :channel=>\"channel\"}]"
|
|
41
|
+
end
|
|
42
|
+
it 'correctly reports error without message' do
|
|
43
|
+
expect do
|
|
44
|
+
expect(message: "#{SlackRubyBot.config.user} no message")
|
|
45
|
+
.to respond_with_slack_message('another response')
|
|
46
|
+
end.to raise_error RSpec::Expectations::ExpectationNotMetError, "expected to receive message with text: another response once,\n received:none"
|
|
47
|
+
end
|
|
28
48
|
it 'respond_with_single_message_using_partial_regex_match' do
|
|
29
49
|
expect(message: "#{SlackRubyBot.config.user} single message")
|
|
30
50
|
.to respond_with_slack_message(/si[n|N]gle/)
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
describe RSpec do
|
|
2
4
|
let! :command do
|
|
3
5
|
Class.new(SlackRubyBot::Commands::Base) do
|
|
6
|
+
command 'do not respond' do |client, data, _match|
|
|
7
|
+
end
|
|
8
|
+
command 'respond once' do |client, data, _match|
|
|
9
|
+
client.say(text: 'response', channel: data.channel, as_user: true)
|
|
10
|
+
end
|
|
4
11
|
command 'respond with as_user' do |client, data, _match|
|
|
5
12
|
5.times do |i|
|
|
6
13
|
client.say(text: "response #{i}", channel: data.channel, as_user: true)
|
|
@@ -29,6 +36,26 @@ describe RSpec do
|
|
|
29
36
|
expect(message: "#{SlackRubyBot.config.user} respond 5 times")
|
|
30
37
|
.to respond_with_slack_messages(expected_responses)
|
|
31
38
|
end
|
|
39
|
+
it 'respond with multiple messages' do
|
|
40
|
+
expect(message: "#{SlackRubyBot.config.user} respond 5 times")
|
|
41
|
+
.to respond_with_slack_messages
|
|
42
|
+
end
|
|
43
|
+
it 'respond once' do
|
|
44
|
+
expect do
|
|
45
|
+
expect(message: "#{SlackRubyBot.config.user} respond once")
|
|
46
|
+
.to respond_with_slack_messages
|
|
47
|
+
end.to raise_error RSpec::Expectations::ExpectationNotMetError, 'Expected to receive multiple messages, got 1'
|
|
48
|
+
end
|
|
49
|
+
it 'do not respond' do
|
|
50
|
+
expect(message: "#{SlackRubyBot.config.user} do not respond")
|
|
51
|
+
.to_not respond_with_slack_messages
|
|
52
|
+
end
|
|
53
|
+
it 'correctly reports error on do not respond' do
|
|
54
|
+
expect do
|
|
55
|
+
expect(message: "#{SlackRubyBot.config.user} do not respond")
|
|
56
|
+
.to respond_with_slack_messages
|
|
57
|
+
end.to raise_error RSpec::Expectations::ExpectationNotMetError, 'Expected to receive multiple messages, got none'
|
|
58
|
+
end
|
|
32
59
|
it 'respond_with_multiple_messages_using_string_matches' do
|
|
33
60
|
expected_responses = []
|
|
34
61
|
5.times { |i| expected_responses.push("response #{i}") }
|
|
@@ -41,6 +68,15 @@ describe RSpec do
|
|
|
41
68
|
expect(message: "#{SlackRubyBot.config.user} respond 5 times")
|
|
42
69
|
.not_to respond_with_slack_messages(expected_responses)
|
|
43
70
|
end
|
|
71
|
+
it 'correctly reports error' do
|
|
72
|
+
expect do
|
|
73
|
+
expected_responses = []
|
|
74
|
+
6.times { |i| expected_responses.push("response #{i}") }
|
|
75
|
+
expect(message: "#{SlackRubyBot.config.user} respond 5 times")
|
|
76
|
+
.to respond_with_slack_messages(expected_responses)
|
|
77
|
+
end.to raise_error RSpec::Expectations::ExpectationNotMetError, 'Expected text: response 5, got none'
|
|
78
|
+
end
|
|
79
|
+
|
|
44
80
|
it 'respond_with_multiple_messages_using_string_matches_with_extra_arg' do
|
|
45
81
|
expected_responses = []
|
|
46
82
|
5.times { |i| expected_responses.push("response #{i}") }
|
|
@@ -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
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
describe SlackRubyBot::Server do
|
|
2
4
|
let(:logger) { subject.send :logger }
|
|
3
5
|
let(:client) { Slack::RealTime::Client.new }
|
|
@@ -13,18 +15,6 @@ describe SlackRubyBot::Server do
|
|
|
13
15
|
expect(server.send(:client).token).to eq 'token'
|
|
14
16
|
end
|
|
15
17
|
|
|
16
|
-
it 'send_gifs is false without giphy', unless: WithGiphy.env? do
|
|
17
|
-
server = SlackRubyBot::Server.new(send_gifs: true)
|
|
18
|
-
expect(server.send(:client).send_gifs?).to be false
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
it 'send_gifs', if: WithGiphy.env? do
|
|
22
|
-
server = SlackRubyBot::Server.new(send_gifs: true)
|
|
23
|
-
expect(server.send(:client).send_gifs?).to be true
|
|
24
|
-
server = SlackRubyBot::Server.new(send_gifs: false)
|
|
25
|
-
expect(server.send(:client).send_gifs?).to be false
|
|
26
|
-
end
|
|
27
|
-
|
|
28
18
|
it 'aliases' do
|
|
29
19
|
server = SlackRubyBot::Server.new(aliases: %w[foo bar])
|
|
30
20
|
expect(server.send(:client).aliases).to eq %w[foo bar]
|
|
@@ -38,16 +28,16 @@ describe SlackRubyBot::Server do
|
|
|
38
28
|
end
|
|
39
29
|
it 'creates a client with a token' do
|
|
40
30
|
expect(client).to receive(:start!) { raise 'expected' }
|
|
41
|
-
expect(Slack::RealTime::Client).to receive(:new).with(token: 'token',
|
|
31
|
+
expect(Slack::RealTime::Client).to receive(:new).with(token: 'token', aliases: nil).and_return(client)
|
|
42
32
|
expect { subject.start! }.to raise_error RuntimeError, 'expected'
|
|
43
33
|
end
|
|
44
34
|
it 'asynchronously creates a client with a token' do
|
|
45
35
|
expect(client).to receive(:start_async) { raise 'expected' }
|
|
46
|
-
expect(Slack::RealTime::Client).to receive(:new).with(token: 'token',
|
|
36
|
+
expect(Slack::RealTime::Client).to receive(:new).with(token: 'token', aliases: nil).and_return(client)
|
|
47
37
|
expect { subject.start_async }.to raise_error RuntimeError, 'expected'
|
|
48
38
|
end
|
|
49
39
|
it 'stops client' do
|
|
50
|
-
expect(Slack::RealTime::Client).to receive(:new).with(token: 'token',
|
|
40
|
+
expect(Slack::RealTime::Client).to receive(:new).with(token: 'token', aliases: nil).and_return(client)
|
|
51
41
|
expect(subject.send(:client)).to_not be nil
|
|
52
42
|
expect(client).to receive(:started?).and_return(true)
|
|
53
43
|
subject.stop!
|
|
@@ -66,7 +56,7 @@ describe SlackRubyBot::Server do
|
|
|
66
56
|
subject.run
|
|
67
57
|
end.to raise_error Slack::Web::Api::Error, 'unknown'
|
|
68
58
|
end
|
|
69
|
-
[Faraday::
|
|
59
|
+
[Faraday::ConnectionFailed, Faraday::TimeoutError, Faraday::SSLError].each do |err|
|
|
70
60
|
it err.to_s do
|
|
71
61
|
expect(client).to receive(:start!) { raise err, 'Faraday' }
|
|
72
62
|
expect(client).to receive(:start!) { raise 'unknown' }
|
data/spec/spec_helper.rb
CHANGED
|
File without changes
|
metadata
CHANGED
|
@@ -1,15 +1,29 @@
|
|
|
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.16.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Daniel Doubrovkine
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2020-12-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: activesupport
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '0'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ">="
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '0'
|
|
13
27
|
- !ruby/object:Gem::Dependency
|
|
14
28
|
name: hashie
|
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -86,14 +100,14 @@ dependencies:
|
|
|
86
100
|
requirements:
|
|
87
101
|
- - '='
|
|
88
102
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: 0.
|
|
103
|
+
version: 0.80.1
|
|
90
104
|
type: :development
|
|
91
105
|
prerelease: false
|
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
107
|
requirements:
|
|
94
108
|
- - '='
|
|
95
109
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: 0.
|
|
110
|
+
version: 0.80.1
|
|
97
111
|
- !ruby/object:Gem::Dependency
|
|
98
112
|
name: vcr
|
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -122,12 +136,13 @@ dependencies:
|
|
|
122
136
|
- - ">="
|
|
123
137
|
- !ruby/object:Gem::Version
|
|
124
138
|
version: '0'
|
|
125
|
-
description:
|
|
139
|
+
description:
|
|
126
140
|
email: dblock@dblock.org
|
|
127
141
|
executables: []
|
|
128
142
|
extensions: []
|
|
129
143
|
extra_rdoc_files: []
|
|
130
144
|
files:
|
|
145
|
+
- ".github/FUNDING.yml"
|
|
131
146
|
- ".gitignore"
|
|
132
147
|
- ".rspec"
|
|
133
148
|
- ".rubocop.yml"
|
|
@@ -139,6 +154,7 @@ files:
|
|
|
139
154
|
- Dangerfile
|
|
140
155
|
- Gemfile
|
|
141
156
|
- LICENSE.md
|
|
157
|
+
- MIGRATION.md
|
|
142
158
|
- README.md
|
|
143
159
|
- RELEASING.md
|
|
144
160
|
- Rakefile
|
|
@@ -159,8 +175,6 @@ files:
|
|
|
159
175
|
- lib/config/application.rb
|
|
160
176
|
- lib/config/boot.rb
|
|
161
177
|
- lib/config/environment.rb
|
|
162
|
-
- lib/initializers/giphy.rb
|
|
163
|
-
- lib/initializers/giphy_client.rb
|
|
164
178
|
- lib/slack-ruby-bot.rb
|
|
165
179
|
- lib/slack-ruby-bot/about.rb
|
|
166
180
|
- lib/slack-ruby-bot/app.rb
|
|
@@ -188,29 +202,25 @@ files:
|
|
|
188
202
|
- lib/slack-ruby-bot/mvc/view/base.rb
|
|
189
203
|
- lib/slack-ruby-bot/rspec.rb
|
|
190
204
|
- lib/slack-ruby-bot/rspec/support/bots_for_tests.rb
|
|
191
|
-
- lib/slack-ruby-bot/rspec/support/fixtures/slack/giphy_burrito.yml
|
|
192
|
-
- lib/slack-ruby-bot/rspec/support/fixtures/slack/giphy_client_burrito.yml
|
|
193
|
-
- lib/slack-ruby-bot/rspec/support/fixtures/slack/giphy_client_burrito_rated_y.yml
|
|
194
|
-
- lib/slack-ruby-bot/rspec/support/fixtures/slack/migration_in_progress.yml
|
|
195
205
|
- lib/slack-ruby-bot/rspec/support/slack-ruby-bot/it_behaves_like_a_slack_bot.rb
|
|
196
206
|
- lib/slack-ruby-bot/rspec/support/slack-ruby-bot/not_respond.rb
|
|
197
207
|
- lib/slack-ruby-bot/rspec/support/slack-ruby-bot/respond_with_error.rb
|
|
198
208
|
- lib/slack-ruby-bot/rspec/support/slack-ruby-bot/respond_with_slack_message.rb
|
|
199
209
|
- lib/slack-ruby-bot/rspec/support/slack-ruby-bot/respond_with_slack_messages.rb
|
|
210
|
+
- lib/slack-ruby-bot/rspec/support/slack-ruby-bot/start_typing.rb
|
|
200
211
|
- lib/slack-ruby-bot/rspec/support/slack_api_key.rb
|
|
201
212
|
- lib/slack-ruby-bot/rspec/support/slack_ruby_bot_configure.rb
|
|
202
213
|
- lib/slack-ruby-bot/rspec/support/spec_helpers.rb
|
|
203
|
-
- lib/slack-ruby-bot/rspec/support/vcr.rb
|
|
204
214
|
- lib/slack-ruby-bot/server.rb
|
|
205
215
|
- lib/slack-ruby-bot/support/loggable.rb
|
|
206
216
|
- lib/slack-ruby-bot/version.rb
|
|
207
217
|
- lib/slack_ruby_bot.rb
|
|
208
218
|
- screenshots/aliases.gif
|
|
219
|
+
- screenshots/create-classic-app.png
|
|
209
220
|
- screenshots/demo.gif
|
|
210
221
|
- screenshots/dms.gif
|
|
211
222
|
- screenshots/help.png
|
|
212
223
|
- screenshots/market.gif
|
|
213
|
-
- screenshots/register-bot.png
|
|
214
224
|
- screenshots/weather.gif
|
|
215
225
|
- slack-ruby-bot.gemspec
|
|
216
226
|
- slack.png
|
|
@@ -220,6 +230,7 @@ files:
|
|
|
220
230
|
- spec/slack-ruby-bot/commands/aliases_spec.rb
|
|
221
231
|
- spec/slack-ruby-bot/commands/attachment_spec.rb
|
|
222
232
|
- spec/slack-ruby-bot/commands/bot_message_spec.rb
|
|
233
|
+
- spec/slack-ruby-bot/commands/bot_messages_spec.rb
|
|
223
234
|
- spec/slack-ruby-bot/commands/bot_spec.rb
|
|
224
235
|
- spec/slack-ruby-bot/commands/commands_command_classes_spec.rb
|
|
225
236
|
- spec/slack-ruby-bot/commands/commands_permitted_spec.rb
|
|
@@ -237,36 +248,37 @@ files:
|
|
|
237
248
|
- spec/slack-ruby-bot/commands/match_spec.rb
|
|
238
249
|
- spec/slack-ruby-bot/commands/message_loop_spec.rb
|
|
239
250
|
- spec/slack-ruby-bot/commands/nil_message_spec.rb
|
|
251
|
+
- spec/slack-ruby-bot/commands/non_breaking_space_spec.rb
|
|
240
252
|
- spec/slack-ruby-bot/commands/not_implemented_spec.rb
|
|
241
253
|
- spec/slack-ruby-bot/commands/operators_spec.rb
|
|
242
254
|
- spec/slack-ruby-bot/commands/operators_with_block_spec.rb
|
|
243
255
|
- spec/slack-ruby-bot/commands/scan_spec.rb
|
|
244
|
-
- spec/slack-ruby-bot/commands/send_gif_spec.rb
|
|
245
256
|
- spec/slack-ruby-bot/commands/send_message_spec.rb
|
|
246
|
-
- spec/slack-ruby-bot/commands/send_message_with_gif_spec.rb
|
|
247
257
|
- spec/slack-ruby-bot/commands/support/attrs_spec.rb
|
|
248
258
|
- spec/slack-ruby-bot/commands/support/help_spec.rb
|
|
249
259
|
- spec/slack-ruby-bot/commands/support/match_spec.rb
|
|
250
260
|
- spec/slack-ruby-bot/commands/unknown_spec.rb
|
|
251
261
|
- spec/slack-ruby-bot/config_spec.rb
|
|
262
|
+
- spec/slack-ruby-bot/hooks/hello_spec.rb
|
|
252
263
|
- spec/slack-ruby-bot/hooks/hook_support_spec.rb
|
|
253
264
|
- spec/slack-ruby-bot/hooks/message_spec.rb
|
|
254
265
|
- spec/slack-ruby-bot/hooks/set_spec.rb
|
|
255
|
-
- spec/slack-ruby-bot/initializers/giphy_client_spec.rb
|
|
256
|
-
- spec/slack-ruby-bot/initializers/giphy_spec.rb
|
|
257
266
|
- spec/slack-ruby-bot/mvc/controller/controller_to_command_spec.rb
|
|
258
267
|
- spec/slack-ruby-bot/rspec/respond_with_error_spec.rb
|
|
259
268
|
- spec/slack-ruby-bot/rspec/respond_with_slack_message_spec.rb
|
|
260
269
|
- spec/slack-ruby-bot/rspec/respond_with_slack_messages_spec.rb
|
|
270
|
+
- spec/slack-ruby-bot/rspec/start_typing_spec.rb
|
|
261
271
|
- spec/slack-ruby-bot/server_spec.rb
|
|
262
272
|
- spec/slack-ruby-bot/support/loggable_spec.rb
|
|
263
273
|
- spec/slack-ruby-bot/version_spec.rb
|
|
264
274
|
- spec/spec_helper.rb
|
|
275
|
+
- spec/support/fixtures/slack/migration_in_progress.yml
|
|
276
|
+
- spec/support/vcr.rb
|
|
265
277
|
homepage: https://github.com/slack-ruby/slack-ruby-bot
|
|
266
278
|
licenses:
|
|
267
279
|
- MIT
|
|
268
280
|
metadata: {}
|
|
269
|
-
post_install_message:
|
|
281
|
+
post_install_message:
|
|
270
282
|
rdoc_options: []
|
|
271
283
|
require_paths:
|
|
272
284
|
- lib
|
|
@@ -274,16 +286,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
274
286
|
requirements:
|
|
275
287
|
- - ">="
|
|
276
288
|
- !ruby/object:Gem::Version
|
|
277
|
-
version: '
|
|
289
|
+
version: '2.3'
|
|
278
290
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
279
291
|
requirements:
|
|
280
292
|
- - ">="
|
|
281
293
|
- !ruby/object:Gem::Version
|
|
282
294
|
version: 1.3.6
|
|
283
295
|
requirements: []
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
signing_key:
|
|
296
|
+
rubygems_version: 3.1.3
|
|
297
|
+
signing_key:
|
|
287
298
|
specification_version: 4
|
|
288
299
|
summary: The easiest way to write a Slack bot in Ruby.
|
|
289
300
|
test_files:
|
|
@@ -293,6 +304,7 @@ test_files:
|
|
|
293
304
|
- spec/slack-ruby-bot/commands/aliases_spec.rb
|
|
294
305
|
- spec/slack-ruby-bot/commands/attachment_spec.rb
|
|
295
306
|
- spec/slack-ruby-bot/commands/bot_message_spec.rb
|
|
307
|
+
- spec/slack-ruby-bot/commands/bot_messages_spec.rb
|
|
296
308
|
- spec/slack-ruby-bot/commands/bot_spec.rb
|
|
297
309
|
- spec/slack-ruby-bot/commands/commands_command_classes_spec.rb
|
|
298
310
|
- spec/slack-ruby-bot/commands/commands_permitted_spec.rb
|
|
@@ -310,28 +322,29 @@ test_files:
|
|
|
310
322
|
- spec/slack-ruby-bot/commands/match_spec.rb
|
|
311
323
|
- spec/slack-ruby-bot/commands/message_loop_spec.rb
|
|
312
324
|
- spec/slack-ruby-bot/commands/nil_message_spec.rb
|
|
325
|
+
- spec/slack-ruby-bot/commands/non_breaking_space_spec.rb
|
|
313
326
|
- spec/slack-ruby-bot/commands/not_implemented_spec.rb
|
|
314
327
|
- spec/slack-ruby-bot/commands/operators_spec.rb
|
|
315
328
|
- spec/slack-ruby-bot/commands/operators_with_block_spec.rb
|
|
316
329
|
- spec/slack-ruby-bot/commands/scan_spec.rb
|
|
317
|
-
- spec/slack-ruby-bot/commands/send_gif_spec.rb
|
|
318
330
|
- spec/slack-ruby-bot/commands/send_message_spec.rb
|
|
319
|
-
- spec/slack-ruby-bot/commands/send_message_with_gif_spec.rb
|
|
320
331
|
- spec/slack-ruby-bot/commands/support/attrs_spec.rb
|
|
321
332
|
- spec/slack-ruby-bot/commands/support/help_spec.rb
|
|
322
333
|
- spec/slack-ruby-bot/commands/support/match_spec.rb
|
|
323
334
|
- spec/slack-ruby-bot/commands/unknown_spec.rb
|
|
324
335
|
- spec/slack-ruby-bot/config_spec.rb
|
|
336
|
+
- spec/slack-ruby-bot/hooks/hello_spec.rb
|
|
325
337
|
- spec/slack-ruby-bot/hooks/hook_support_spec.rb
|
|
326
338
|
- spec/slack-ruby-bot/hooks/message_spec.rb
|
|
327
339
|
- spec/slack-ruby-bot/hooks/set_spec.rb
|
|
328
|
-
- spec/slack-ruby-bot/initializers/giphy_client_spec.rb
|
|
329
|
-
- spec/slack-ruby-bot/initializers/giphy_spec.rb
|
|
330
340
|
- spec/slack-ruby-bot/mvc/controller/controller_to_command_spec.rb
|
|
331
341
|
- spec/slack-ruby-bot/rspec/respond_with_error_spec.rb
|
|
332
342
|
- spec/slack-ruby-bot/rspec/respond_with_slack_message_spec.rb
|
|
333
343
|
- spec/slack-ruby-bot/rspec/respond_with_slack_messages_spec.rb
|
|
344
|
+
- spec/slack-ruby-bot/rspec/start_typing_spec.rb
|
|
334
345
|
- spec/slack-ruby-bot/server_spec.rb
|
|
335
346
|
- spec/slack-ruby-bot/support/loggable_spec.rb
|
|
336
347
|
- spec/slack-ruby-bot/version_spec.rb
|
|
337
348
|
- spec/spec_helper.rb
|
|
349
|
+
- spec/support/fixtures/slack/migration_in_progress.yml
|
|
350
|
+
- spec/support/vcr.rb
|