slack-ruby-bot 0.14.0 → 0.15.0
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/CHANGELOG.md +7 -0
- data/CONTRIBUTING.md +5 -1
- data/README.md +3 -3
- data/UPGRADING.md +8 -0
- data/lib/slack-ruby-bot/app.rb +16 -12
- data/lib/slack-ruby-bot/commands/base.rb +1 -1
- data/lib/slack-ruby-bot/rspec/support/slack-ruby-bot/it_behaves_like_a_slack_bot.rb +2 -1
- data/lib/slack-ruby-bot/rspec/support/slack_api_key.rb +1 -1
- data/lib/slack-ruby-bot/version.rb +1 -1
- data/spec/slack-ruby-bot/app_spec.rb +62 -1
- data/spec/slack-ruby-bot/commands/non_breaking_space_spec.rb +29 -0
- data/spec/slack-ruby-bot/initializers/giphy_client_spec.rb +4 -4
- data/spec/spec_helper.rb +1 -0
- data/{lib/slack-ruby-bot/rspec → spec}/support/fixtures/slack/giphy_burrito.yml +0 -0
- data/{lib/slack-ruby-bot/rspec → spec}/support/fixtures/slack/giphy_client_burrito.yml +0 -0
- data/spec/support/fixtures/slack/giphy_client_burrito_rated_pg.yml +80 -0
- 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 +0 -0
- metadata +14 -7
- data/lib/slack-ruby-bot/rspec/support/fixtures/slack/giphy_client_burrito_rated_y.yml +0 -71
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c6c1329b698f67974759dd037ed5b1f5df3b69d3488c46710e15483e8d1c697a
|
4
|
+
data.tar.gz: e936269d17f733b75fe5253e8895c82095839f280e65a6a76d7f209c493c99d0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ddf22b03b7f32b9c9d3d029a75f2e85188799f19940dcfb22dbc058d5cd9bbd94b3ec5fdf028c6c7b51359a2575431f60b0420182c3ca4b45bc3343b38edf01b
|
7
|
+
data.tar.gz: faa773163bd32cd1523b872459b010b33b9a7f5c1ac85872a0fff33301f5527fd3cd381d210956f90cfbd4e00a8f52a509e6b35c7fb7b5b6f3228a07a39d942e
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
### 0.15.0 (2020/5/8)
|
2
|
+
|
3
|
+
* [#258](https://github.com/slack-ruby/slack-ruby-bot/pull/258): Extract development dependencies (VCR) from shared rspec configuraion - [@dikond](https://github.com/dikond).
|
4
|
+
* [#256](https://github.com/slack-ruby/slack-ruby-bot/pull/256): Allow command matcher to receive no-break spaces as regular spaces - [@MichaelM-Shopify](https://github.com/MichaelM-Shopify), [@dblock](https://github.com/dblock).
|
5
|
+
* [#254](https://github.com/slack-ruby/slack-ruby-bot/pull/254): Allow setting of `config.token` and `config.aliases` in initializer - [@wasabigeek](https://github.com/wasabigeek).
|
6
|
+
* [#253](https://github.com/slack-ruby/slack-ruby-bot/pull/253): Remove reference to unsupported Giphy content rating - [@wasabigeek](https://github.com/wasabigeek).
|
7
|
+
|
1
8
|
### 0.14.0 (2020/4/2)
|
2
9
|
|
3
10
|
* [#250](https://github.com/slack-ruby/slack-ruby-bot/pull/250): Added `config.allow_bot_messages`, defaults to `false` - [@dblock](https://github.com/dblock).
|
data/CONTRIBUTING.md
CHANGED
@@ -18,13 +18,17 @@ git remote add upstream https://github.com/slack-ruby/slack-ruby-bot.git
|
|
18
18
|
|
19
19
|
## Bundle Install and Test
|
20
20
|
|
21
|
-
Ensure that you can build the project and run tests.
|
21
|
+
Ensure that you can build the project and run tests. Make sure you have set `CONCURRENCY` env variable to one of the following: `celluloid-io`, `faye-websocket` or `async-websocket`.
|
22
22
|
|
23
23
|
```
|
24
|
+
export CONCURRENCY=async-websocket
|
24
25
|
bundle install
|
25
26
|
bundle exec rake
|
26
27
|
```
|
27
28
|
|
29
|
+
Take a look at the [travis configuration](https://github.com/slack-ruby/slack-ruby-bot/blob/master/.travis.yml) for more details.
|
30
|
+
|
31
|
+
|
28
32
|
## Run SlackRubyBot in Development
|
29
33
|
|
30
34
|
Create a private slack group for yourself.
|
data/README.md
CHANGED
@@ -19,7 +19,7 @@ If you are not familiar with Slack bots or Slack API concepts, you might want to
|
|
19
19
|
|
20
20
|
## Stable Release
|
21
21
|
|
22
|
-
You're reading the documentation for the **stable** release of slack-ruby-bot, v0.
|
22
|
+
You're reading the documentation for the **stable** release of slack-ruby-bot, v0.15.0.
|
23
23
|
See [CHANGELOG](CHANGELOG.md) for a history of changes and [UPGRADING](UPGRADING.md) for how to upgrade to more recent versions.
|
24
24
|
|
25
25
|
## Usage
|
@@ -345,11 +345,11 @@ Giphy.configure do |config|
|
|
345
345
|
end
|
346
346
|
```
|
347
347
|
|
348
|
-
With `GiphyClient` you can configure the default GIF rating, which supports
|
348
|
+
With `GiphyClient` you can configure the default GIF [content rating](https://developers.giphy.com/docs/optional-settings#rating), which supports G, PG, PG-13, and R. The default value is `G`.
|
349
349
|
|
350
350
|
```ruby
|
351
351
|
Giphy.configure do |config|
|
352
|
-
config.rating = '
|
352
|
+
config.rating = 'PG'
|
353
353
|
end
|
354
354
|
```
|
355
355
|
|
data/UPGRADING.md
CHANGED
@@ -1,6 +1,14 @@
|
|
1
1
|
Upgrading SlackRubyBot
|
2
2
|
======================
|
3
3
|
|
4
|
+
### Upgrading to >= 0.15.0
|
5
|
+
|
6
|
+
#### Set up VCR explicitly
|
7
|
+
|
8
|
+
Requiring `slack-ruby-bot/rspec` will no longer set up [VCR](https://rubygems.org/gems/vcr) anymore. If your spec suite implicitly relies on this you would need to set up VCR explicitly in your spec suite. Just follow standard VCR documentation.
|
9
|
+
|
10
|
+
See [#258](https://github.com/slack-ruby/slack-ruby-bot/pull/258) for more information.
|
11
|
+
|
4
12
|
### Upgrading to >= 0.14.0
|
5
13
|
|
6
14
|
#### Bot Messages Disabled
|
data/lib/slack-ruby-bot/app.rb
CHANGED
@@ -2,23 +2,27 @@
|
|
2
2
|
|
3
3
|
module SlackRubyBot
|
4
4
|
class App < Server
|
5
|
-
def initialize(options = {})
|
6
|
-
SlackRubyBot.configure do |config|
|
7
|
-
config.token = ENV['SLACK_API_TOKEN'] || raise("Missing ENV['SLACK_API_TOKEN'].")
|
8
|
-
config.aliases = ENV['SLACK_RUBY_BOT_ALIASES'].split(' ') if ENV['SLACK_RUBY_BOT_ALIASES']
|
9
|
-
end
|
10
|
-
Slack.configure do |config|
|
11
|
-
config.token = SlackRubyBot.config.token
|
12
|
-
end
|
13
|
-
super
|
14
|
-
end
|
15
|
-
|
16
5
|
def config
|
17
6
|
SlackRubyBot.config
|
18
7
|
end
|
19
8
|
|
20
9
|
def self.instance
|
21
|
-
@instance ||=
|
10
|
+
@instance ||= begin
|
11
|
+
configure!
|
12
|
+
new(token: SlackRubyBot.config.token)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.configure!
|
17
|
+
SlackRubyBot.configure do |config|
|
18
|
+
config.token = ENV['SLACK_API_TOKEN'] if ENV.key?('SLACK_API_TOKEN')
|
19
|
+
raise('Missing Slack API Token.') unless config.token.present?
|
20
|
+
|
21
|
+
config.aliases = ENV['SLACK_RUBY_BOT_ALIASES'].split(' ') if ENV.key?('SLACK_RUBY_BOT_ALIASES')
|
22
|
+
end
|
23
|
+
Slack.configure do |config|
|
24
|
+
config.token = SlackRubyBot.config.token
|
25
|
+
end
|
22
26
|
end
|
23
27
|
|
24
28
|
private
|
@@ -50,7 +50,7 @@ module SlackRubyBot
|
|
50
50
|
|
51
51
|
def command(*values, &block)
|
52
52
|
values = values.map { |value| value.is_a?(Regexp) ? value.source : Regexp.escape(value) }.join('|')
|
53
|
-
match Regexp.new("^#{bot_matcher}[
|
53
|
+
match Regexp.new("^#{bot_matcher}[[:space:]]+(?<command>#{values})([[:space:]]+(?<expression>.*)|)$", Regexp::IGNORECASE | Regexp::MULTILINE), &block
|
54
54
|
end
|
55
55
|
|
56
56
|
def invoke(client, data)
|
@@ -4,12 +4,13 @@ shared_examples 'a slack ruby bot' do
|
|
4
4
|
context 'not configured' do
|
5
5
|
before do
|
6
6
|
@slack_api_token = ENV.delete('SLACK_API_TOKEN')
|
7
|
+
SlackRubyBot.configure { |config| config.token = nil }
|
7
8
|
end
|
8
9
|
after do
|
9
10
|
ENV['SLACK_API_TOKEN'] = @slack_api_token
|
10
11
|
end
|
11
12
|
it 'requires SLACK_API_TOKEN' do
|
12
|
-
expect {
|
13
|
+
expect { described_class.instance }.to raise_error RuntimeError, 'Missing Slack API Token.'
|
13
14
|
end
|
14
15
|
end
|
15
16
|
end
|
@@ -7,10 +7,71 @@ describe SlackRubyBot::App do
|
|
7
7
|
it_behaves_like 'a slack ruby bot'
|
8
8
|
|
9
9
|
describe '.instance' do
|
10
|
+
let(:token) { 'slack-api-token' }
|
11
|
+
let(:klass) { Class.new(SlackRubyBot::App) }
|
12
|
+
|
10
13
|
it 'creates an instance of the App subclass' do
|
11
|
-
klass = Class.new(SlackRubyBot::App)
|
12
14
|
expect(klass.instance.class).to be klass
|
13
15
|
end
|
16
|
+
|
17
|
+
it 'sets config.token from ENV' do
|
18
|
+
expect(klass.instance.config.token).to eq('test')
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'when token is not defined' do
|
22
|
+
before do
|
23
|
+
ENV.delete('SLACK_API_TOKEN')
|
24
|
+
SlackRubyBot::Config.token = nil
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'raises error' do
|
28
|
+
expect { klass.instance }.to raise_error RuntimeError, 'Missing Slack API Token.'
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context 'when token is defined in ENV but not config' do
|
33
|
+
before do
|
34
|
+
SlackRubyBot::Config.token = nil
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'sets config.token from ENV' do
|
38
|
+
expect(klass.instance.config.token).to eq('test')
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
context 'when token is not defined in ENV but is defined in config' do
|
43
|
+
before do
|
44
|
+
ENV.delete('SLACK_API_TOKEN')
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'sets config.token from config' do
|
48
|
+
expect(klass.instance.config.token).to eq('testtoken')
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
context 'when aliases are defined in config only' do
|
53
|
+
let(:aliases) { %w[alias alias2] }
|
54
|
+
before do
|
55
|
+
SlackRubyBot::Config.aliases = aliases
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'sets config.aliases' do
|
59
|
+
expect(klass.instance.config.aliases).to eq(aliases)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
context 'when aliases are defined in ENV only' do
|
64
|
+
before do
|
65
|
+
ENV['SLACK_RUBY_BOT_ALIASES'] = 'alias3 alias4'
|
66
|
+
end
|
67
|
+
after do
|
68
|
+
ENV.delete('SLACK_RUBY_BOT_ALIASES')
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'sets config.aliases from env' do
|
72
|
+
expect(klass.instance.config.aliases).to eq(%w[alias3 alias4])
|
73
|
+
end
|
74
|
+
end
|
14
75
|
end
|
15
76
|
|
16
77
|
describe 'executable' do
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
describe SlackRubyBot::Commands do
|
4
|
+
let! :command do
|
5
|
+
Class.new(SlackRubyBot::Commands::Base) do
|
6
|
+
command 'non_breaking_space' do |client, data, match|
|
7
|
+
client.say(channel: data.channel, text: match['expression'])
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
it 'sends a message with non-breaking space after bot name' do
|
12
|
+
expect(message: "#{SlackRubyBot.config.user}\u00a0non_breaking_space message").to respond_with_slack_message('message')
|
13
|
+
end
|
14
|
+
it 'sends a message with non-breaking space after command' do
|
15
|
+
expect(message: "#{SlackRubyBot.config.user} non_breaking_space\u00a0message").to respond_with_slack_message('message')
|
16
|
+
end
|
17
|
+
it 'sends a message with all non-breaking spaces' do
|
18
|
+
expect(message: "#{SlackRubyBot.config.user}\u00a0non_breaking_space\u00a0message").to respond_with_slack_message('message')
|
19
|
+
end
|
20
|
+
it 'sends a message with trailing non-breaking spaces' do
|
21
|
+
expect(message: "#{SlackRubyBot.config.user} non_breaking_space message\u00a0").to respond_with_slack_message("message\u00a0")
|
22
|
+
end
|
23
|
+
it 'sends a message with multiple non-breaking spaces' do
|
24
|
+
expect(message: "#{SlackRubyBot.config.user} non_breaking_space message1\u00a0message2").to respond_with_slack_message("message1\u00a0message2")
|
25
|
+
end
|
26
|
+
it 'sends a message with non-breaking spaces on multiple lines' do
|
27
|
+
expect(message: "#{SlackRubyBot.config.user} non_breaking_space message1\u00a0message2\nmessage3\u00a0message4").to respond_with_slack_message("message1\u00a0message2\nmessage3\u00a0message4")
|
28
|
+
end
|
29
|
+
end
|
@@ -14,15 +14,15 @@ if ENV.key?('WITH_GIPHY_CLIENT')
|
|
14
14
|
expect(Giphy.random('burrito').image_url).to eq burrito_gif
|
15
15
|
end
|
16
16
|
end
|
17
|
-
context 'rated
|
17
|
+
context 'rated pg' do
|
18
18
|
before do
|
19
|
-
Giphy.config.rating = '
|
19
|
+
Giphy.config.rating = 'PG'
|
20
20
|
end
|
21
21
|
after do
|
22
22
|
Giphy.config.rating = 'G'
|
23
23
|
end
|
24
|
-
let(:burrito_gif) { 'https://
|
25
|
-
it 'random', vcr: { cassette_name: '
|
24
|
+
let(:burrito_gif) { 'https://media0.giphy.com/media/3o6gb3OJb2tWB76uwE/giphy.gif' }
|
25
|
+
it 'random', vcr: { cassette_name: 'giphy_client_burrito_rated_pg' } do
|
26
26
|
expect(Giphy.random('burrito').image_url).to eq burrito_gif
|
27
27
|
end
|
28
28
|
end
|
data/spec/spec_helper.rb
CHANGED
File without changes
|
File without changes
|
@@ -0,0 +1,80 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://api.giphy.com/v1/gifs/random?api_key=giphy-api-key&rating=PG&tag=burrito
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Swagger-Codegen/1.0.0/ruby
|
12
|
+
Content-Type:
|
13
|
+
- application/json
|
14
|
+
Accept:
|
15
|
+
- application/json
|
16
|
+
Expect:
|
17
|
+
- ''
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Content-Type:
|
24
|
+
- application/json
|
25
|
+
X-Robots-Tag:
|
26
|
+
- noindex
|
27
|
+
Access-Control-Allow-Credentials:
|
28
|
+
- 'true'
|
29
|
+
Access-Control-Allow-Methods:
|
30
|
+
- GET, POST, PUT, DELETE, OPTIONS
|
31
|
+
Access-Control-Allow-Headers:
|
32
|
+
- Content-Type, Accept, x-requested-with, cache-control, X-GIPHY-SDK-NAME, X-GIPHY-SDK-VERSION,
|
33
|
+
X-GIPHY-SDK-PLATFORM
|
34
|
+
Access-Control-Allow-Origin:
|
35
|
+
- "*"
|
36
|
+
Accept-Ranges:
|
37
|
+
- bytes
|
38
|
+
- bytes
|
39
|
+
- bytes
|
40
|
+
- bytes
|
41
|
+
Age:
|
42
|
+
- '0'
|
43
|
+
- '0'
|
44
|
+
- '0'
|
45
|
+
- '0'
|
46
|
+
X-Rule-Debug:
|
47
|
+
- '1'
|
48
|
+
X-Cachiness-Rule-Name:
|
49
|
+
- giphy_api_vcl_fetch_stale_if_error_val_set
|
50
|
+
X-Cachiness-Edge-Timeout:
|
51
|
+
- '120.000'
|
52
|
+
X-Cachiness-Cdn-Content-If-Error-Ttl:
|
53
|
+
- '86400.000'
|
54
|
+
X-Cachiness-Cdn-Content-While-Revalidate-Ttl:
|
55
|
+
- '1200.000'
|
56
|
+
X-Cachiness-Cdn-Content-Varnish-Grace-Ttl:
|
57
|
+
- '86400.000'
|
58
|
+
Transfer-Encoding:
|
59
|
+
- chunked
|
60
|
+
Date:
|
61
|
+
- Sun, 05 Apr 2020 09:48:06 GMT
|
62
|
+
Connection:
|
63
|
+
- keep-alive
|
64
|
+
X-Served-By:
|
65
|
+
- cache-bwi5120-BWI, cache-sin18037-SIN
|
66
|
+
X-Cache-Hits:
|
67
|
+
- 0, 0
|
68
|
+
X-Timer:
|
69
|
+
- S1586080086.016895,VS0,VE405
|
70
|
+
Vary:
|
71
|
+
- Accept-Encoding
|
72
|
+
body:
|
73
|
+
encoding: UTF-8
|
74
|
+
string: '{"data":{"type":"gif","id":"3o6gb3OJb2tWB76uwE","url":"https:\/\/giphy.com\/gifs\/new-girl-fox-new-girl-3o6gb3OJb2tWB76uwE","slug":"new-girl-fox-new-girl-3o6gb3OJb2tWB76uwE","bitly_gif_url":"https:\/\/gph.is\/217Ajw3","bitly_url":"https:\/\/gph.is\/217Ajw3","embed_url":"https:\/\/giphy.com\/embed\/3o6gb3OJb2tWB76uwE","username":"new-girl","source":"","title":"megan
|
75
|
+
fox GIF by New Girl","rating":"pg","content_url":"","source_tld":"","source_post_url":"","is_sticker":0,"import_datetime":"2016-02-17
|
76
|
+
00:06:19","trending_datetime":"0000-00-00 00:00:00","images":{"downsized_large":{"height":"281","size":"2065896","url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/giphy.gif?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=giphy.gif","width":"500"},"fixed_height_small_still":{"height":"100","size":"10860","url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/100_s.gif?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=100_s.gif","width":"178"},"original":{"frames":"29","hash":"ce4159fb04d3cdf136684bd6ed168a2b","height":"281","mp4":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/giphy.mp4?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=giphy.mp4","mp4_size":"352777","size":"2065896","url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/giphy.gif?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=giphy.gif","webp":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/giphy.webp?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=giphy.webp","webp_size":"575422","width":"500"},"fixed_height_downsampled":{"height":"200","size":"176994","url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/200_d.gif?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=200_d.gif","webp":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/200_d.webp?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=200_d.webp","webp_size":"88866","width":"356"},"downsized_still":{"height":"281","size":"36155","url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/giphy-downsized_s.gif?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=giphy-downsized_s.gif","width":"500"},"fixed_height_still":{"height":"200","size":"28570","url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/200_s.gif?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=200_s.gif","width":"356"},"downsized_medium":{"height":"281","size":"2065896","url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/giphy.gif?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=giphy.gif","width":"500"},"downsized":{"height":"281","size":"988581","url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/giphy-downsized.gif?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=giphy-downsized.gif","width":"500"},"preview_webp":{"height":"106","size":"34956","url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/giphy-preview.webp?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=giphy-preview.webp","width":"188"},"original_mp4":{"height":"268","mp4":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/giphy.mp4?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=giphy.mp4","mp4_size":"352777","width":"480"},"fixed_height_small":{"height":"100","mp4":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/100.mp4?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=100.mp4","mp4_size":"27984","size":"299158","url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/100.gif?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=100.gif","webp":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/100.webp?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=100.webp","webp_size":"94524","width":"178"},"fixed_height":{"height":"200","mp4":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/200.mp4?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=200.mp4","mp4_size":"107639","size":"793935","url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/200.gif?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=200.gif","webp":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/200.webp?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=200.webp","webp_size":"257462","width":"356"},"downsized_small":{"height":"180","mp4":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/giphy-downsized-small.mp4?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=giphy-downsized-small.mp4","mp4_size":"33430","width":"321"},"preview":{"height":"198","mp4":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/giphy-preview.mp4?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=giphy-preview.mp4","mp4_size":"30813","width":"353"},"fixed_width_downsampled":{"height":"112","size":"76626","url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/200w_d.gif?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=200w_d.gif","webp":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/200w_d.webp?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=200w_d.webp","webp_size":"34772","width":"200"},"fixed_width_small_still":{"height":"56","size":"3889","url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/100w_s.gif?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=100w_s.gif","width":"100"},"fixed_width_small":{"height":"56","mp4":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/100w.mp4?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=100w.mp4","mp4_size":"10620","size":"88828","url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/100w.gif?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=100w.gif","webp":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/100w.webp?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=100w.webp","webp_size":"43728","width":"100"},"original_still":{"height":"281","size":"77064","url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/giphy_s.gif?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=giphy_s.gif","width":"500"},"fixed_width_still":{"height":"112","size":"13623","url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/200w_s.gif?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=200w_s.gif","width":"200"},"looping":{"mp4":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/giphy-loop.mp4?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=giphy-loop.mp4","mp4_size":"1588862"},"fixed_width":{"height":"112","mp4":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/200w.mp4?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=200w.mp4","mp4_size":"30417","size":"350865","url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/200w.gif?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=200w.gif","webp":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/200w.webp?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=200w.webp","webp_size":"109422","width":"200"},"preview_gif":{"height":"56","size":"48146","url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/giphy-preview.gif?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=giphy-preview.gif","width":"100"},"480w_still":{"url":"https:\/\/media4.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/480w_s.jpg?cid=6ef6bcb4368a35413d72b78d296866a9dd0c839bdc0f4643&rid=480w_s.jpg","width":"480","height":"270"}},"user":{"avatar_url":"https:\/\/media1.giphy.com\/avatars\/new-girl\/I1nNp7T5S75c.png","banner_image":"https:\/\/media1.giphy.com\/headers\/new-girl\/T8rbcrTIdvy4.png","banner_url":"https:\/\/media1.giphy.com\/headers\/new-girl\/T8rbcrTIdvy4.png","profile_url":"https:\/\/giphy.com\/new-girl\/","username":"new-girl","display_name":"New
|
77
|
+
Girl","is_verified":true},"image_original_url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/giphy.gif","image_url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/giphy.gif","image_mp4_url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/giphy.mp4","image_frames":"29","image_width":"500","image_height":"281","fixed_height_downsampled_url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/200_d.gif","fixed_height_downsampled_width":"356","fixed_height_downsampled_height":"200","fixed_width_downsampled_url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/200w_d.gif","fixed_width_downsampled_width":"200","fixed_width_downsampled_height":"112","fixed_height_small_url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/100.gif","fixed_height_small_still_url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/100_s.gif","fixed_height_small_width":"178","fixed_height_small_height":"100","fixed_width_small_url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/100w.gif","fixed_width_small_still_url":"https:\/\/media0.giphy.com\/media\/3o6gb3OJb2tWB76uwE\/100w_s.gif","fixed_width_small_width":"100","fixed_width_small_height":"56","caption":""},"meta":{"status":200,"msg":"OK","response_id":"368a35413d72b78d296866a9dd0c839bdc0f4643"}}'
|
78
|
+
http_version: null
|
79
|
+
recorded_at: Sun, 05 Apr 2020 09:48:06 GMT
|
80
|
+
recorded_with: VCR 5.1.0
|
File without changes
|
File without changes
|
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.15.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: 2020-
|
11
|
+
date: 2020-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hashie
|
@@ -188,10 +188,6 @@ files:
|
|
188
188
|
- lib/slack-ruby-bot/mvc/view/base.rb
|
189
189
|
- lib/slack-ruby-bot/rspec.rb
|
190
190
|
- 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
191
|
- lib/slack-ruby-bot/rspec/support/slack-ruby-bot/it_behaves_like_a_slack_bot.rb
|
196
192
|
- lib/slack-ruby-bot/rspec/support/slack-ruby-bot/not_respond.rb
|
197
193
|
- lib/slack-ruby-bot/rspec/support/slack-ruby-bot/respond_with_error.rb
|
@@ -201,7 +197,6 @@ files:
|
|
201
197
|
- lib/slack-ruby-bot/rspec/support/slack_api_key.rb
|
202
198
|
- lib/slack-ruby-bot/rspec/support/slack_ruby_bot_configure.rb
|
203
199
|
- lib/slack-ruby-bot/rspec/support/spec_helpers.rb
|
204
|
-
- lib/slack-ruby-bot/rspec/support/vcr.rb
|
205
200
|
- lib/slack-ruby-bot/server.rb
|
206
201
|
- lib/slack-ruby-bot/support/loggable.rb
|
207
202
|
- lib/slack-ruby-bot/version.rb
|
@@ -239,6 +234,7 @@ files:
|
|
239
234
|
- spec/slack-ruby-bot/commands/match_spec.rb
|
240
235
|
- spec/slack-ruby-bot/commands/message_loop_spec.rb
|
241
236
|
- spec/slack-ruby-bot/commands/nil_message_spec.rb
|
237
|
+
- spec/slack-ruby-bot/commands/non_breaking_space_spec.rb
|
242
238
|
- spec/slack-ruby-bot/commands/not_implemented_spec.rb
|
243
239
|
- spec/slack-ruby-bot/commands/operators_spec.rb
|
244
240
|
- spec/slack-ruby-bot/commands/operators_with_block_spec.rb
|
@@ -266,6 +262,11 @@ files:
|
|
266
262
|
- spec/slack-ruby-bot/support/loggable_spec.rb
|
267
263
|
- spec/slack-ruby-bot/version_spec.rb
|
268
264
|
- spec/spec_helper.rb
|
265
|
+
- spec/support/fixtures/slack/giphy_burrito.yml
|
266
|
+
- spec/support/fixtures/slack/giphy_client_burrito.yml
|
267
|
+
- spec/support/fixtures/slack/giphy_client_burrito_rated_pg.yml
|
268
|
+
- spec/support/fixtures/slack/migration_in_progress.yml
|
269
|
+
- spec/support/vcr.rb
|
269
270
|
homepage: https://github.com/slack-ruby/slack-ruby-bot
|
270
271
|
licenses:
|
271
272
|
- MIT
|
@@ -314,6 +315,7 @@ test_files:
|
|
314
315
|
- spec/slack-ruby-bot/commands/match_spec.rb
|
315
316
|
- spec/slack-ruby-bot/commands/message_loop_spec.rb
|
316
317
|
- spec/slack-ruby-bot/commands/nil_message_spec.rb
|
318
|
+
- spec/slack-ruby-bot/commands/non_breaking_space_spec.rb
|
317
319
|
- spec/slack-ruby-bot/commands/not_implemented_spec.rb
|
318
320
|
- spec/slack-ruby-bot/commands/operators_spec.rb
|
319
321
|
- spec/slack-ruby-bot/commands/operators_with_block_spec.rb
|
@@ -341,3 +343,8 @@ test_files:
|
|
341
343
|
- spec/slack-ruby-bot/support/loggable_spec.rb
|
342
344
|
- spec/slack-ruby-bot/version_spec.rb
|
343
345
|
- spec/spec_helper.rb
|
346
|
+
- spec/support/fixtures/slack/giphy_burrito.yml
|
347
|
+
- spec/support/fixtures/slack/giphy_client_burrito.yml
|
348
|
+
- spec/support/fixtures/slack/giphy_client_burrito_rated_pg.yml
|
349
|
+
- spec/support/fixtures/slack/migration_in_progress.yml
|
350
|
+
- spec/support/vcr.rb
|
@@ -1,71 +0,0 @@
|
|
1
|
-
---
|
2
|
-
http_interactions:
|
3
|
-
- request:
|
4
|
-
method: get
|
5
|
-
uri: http://api.giphy.com/v1/gifs/random?api_key=giphy-api-key&rating=Y&tag=burrito
|
6
|
-
body:
|
7
|
-
encoding: US-ASCII
|
8
|
-
string: ''
|
9
|
-
headers:
|
10
|
-
User-Agent:
|
11
|
-
- Swagger-Codegen/1.0.0/ruby
|
12
|
-
Content-Type:
|
13
|
-
- application/json
|
14
|
-
Accept:
|
15
|
-
- application/json
|
16
|
-
Expect:
|
17
|
-
- ''
|
18
|
-
response:
|
19
|
-
status:
|
20
|
-
code: 200
|
21
|
-
message: OK
|
22
|
-
headers:
|
23
|
-
Content-Type:
|
24
|
-
- application/json
|
25
|
-
Accept-Ranges:
|
26
|
-
- bytes
|
27
|
-
- bytes
|
28
|
-
Access-Control-Allow-Credentials:
|
29
|
-
- 'true'
|
30
|
-
Access-Control-Allow-Headers:
|
31
|
-
- Content-Type, Accept, x-requested-with, cache-control
|
32
|
-
Access-Control-Allow-Methods:
|
33
|
-
- GET, POST, PUT, DELETE, OPTIONS
|
34
|
-
Access-Control-Allow-Origin:
|
35
|
-
- "*"
|
36
|
-
Age:
|
37
|
-
- '0'
|
38
|
-
X-Robots-Tag:
|
39
|
-
- noindex
|
40
|
-
X-Kong-Upstream-Latency:
|
41
|
-
- '150'
|
42
|
-
X-Kong-Proxy-Latency:
|
43
|
-
- '0'
|
44
|
-
Content-Length:
|
45
|
-
- '6419'
|
46
|
-
Date:
|
47
|
-
- Fri, 04 May 2018 12:22:29 GMT
|
48
|
-
X-Served-By:
|
49
|
-
- cache-den19627-DEN
|
50
|
-
X-Cache:
|
51
|
-
- MISS
|
52
|
-
- MISS from 3
|
53
|
-
X-Cache-Hits:
|
54
|
-
- '0'
|
55
|
-
X-Timer:
|
56
|
-
- S1525436549.420736,VS0,VE202
|
57
|
-
Vary:
|
58
|
-
- Accept-Encoding, Accept-Encoding
|
59
|
-
Via:
|
60
|
-
- kong/0.11.0.3-enterprise-edition, 1.1 varnish, 1.1 3 (squid)
|
61
|
-
Connection:
|
62
|
-
- keep-alive
|
63
|
-
body:
|
64
|
-
encoding: UTF-8
|
65
|
-
string: '{"data":{"type":"gif","id":"hkdKLmIgB3ane","slug":"cartoonhangover-cartoon-hangover-bee-and-puppycat-deckard-hkdKLmIgB3ane","url":"https:\/\/giphy.com\/gifs\/cartoonhangover-cartoon-hangover-bee-and-puppycat-deckard-hkdKLmIgB3ane","bitly_gif_url":"http:\/\/gph.is\/1qsLT19","bitly_url":"http:\/\/gph.is\/1qsLT19","embed_url":"https:\/\/giphy.com\/embed\/hkdKLmIgB3ane","username":"beeandpuppycat","source":"http:\/\/hangover.cartoonhangover.com\/post\/101982802617\/texts-from-bae-watch-now","content_url":"","source_tld":"hangover.cartoonhangover.com","source_post_url":"http:\/\/hangover.cartoonhangover.com\/post\/101982802617\/texts-from-bae-watch-now","is_sticker":0,"import_datetime":"2014-11-07
|
66
|
-
04:00:33","trending_datetime":"1970-01-01 00:00:00","user":{"avatar_url":"https:\/\/media.giphy.com\/avatars\/beeandpuppycat\/cyT9kR6MIqbK.gif","banner_url":"https:\/\/media.giphy.com\/headers\/beeandpuppycat\/TLNhReAxLFI9.jpg","profile_url":"https:\/\/giphy.com\/beeandpuppycat\/","username":"beeandpuppycat","display_name":"Bee
|
67
|
-
and Puppycat","twitter":"","is_verified":true},"images":{"fixed_height_still":{"url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/200_s.gif","width":"356","height":"200"},"original_still":{"url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/giphy_s.gif","width":"400","height":"225"},"fixed_width":{"url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/200w.gif","width":"200","height":"113","size":"499059","mp4":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/200w.mp4","mp4_size":"159807","webp":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/200w.webp","webp_size":"1023352"},"fixed_height_small_still":{"url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/100_s.gif","width":"178","height":"100"},"fixed_height_downsampled":{"url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/200_d.gif","width":"356","height":"200","size":"334553","webp":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/200_d.webp","webp_size":"140458"},"preview":{"width":"400","height":"224","mp4":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/giphy-preview.mp4","mp4_size":"44780"},"fixed_height_small":{"url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/100.gif","width":"178","height":"100","size":"892868","mp4":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/100.mp4","mp4_size":"87596","webp":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/100.webp","webp_size":"544088"},"downsized_still":{"url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/giphy-downsized_s.gif","width":"400","height":"225","size":"62328"},"downsized":{"url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/giphy-downsized.gif","width":"400","height":"225","size":"1002923"},"downsized_large":{"url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/giphy.gif","width":"400","height":"225","size":"1002923"},"fixed_width_small_still":{"url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/100w_s.gif","width":"100","height":"56"},"preview_webp":{"url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/giphy-preview.webp","width":"174","height":"98","size":"48566"},"fixed_width_still":{"url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/200w_s.gif","width":"200","height":"113"},"fixed_width_small":{"url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/100w.gif","width":"100","height":"56","size":"499059","mp4":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/100w.mp4","mp4_size":"30578","webp":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/100w.webp","webp_size":"226546"},"downsized_small":{"width":"400","height":"224","mp4":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/giphy-downsized-small.mp4","mp4_size":"44780"},"fixed_width_downsampled":{"url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/200w_d.gif","width":"200","height":"113","size":"132991","webp":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/200w_d.webp","webp_size":"55952"},"downsized_medium":{"url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/giphy.gif","width":"400","height":"225","size":"1002923"},"original":{"url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/giphy.gif","width":"400","height":"225","size":"1002923","frames":"112","mp4":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/giphy.mp4","mp4_size":"827796","webp":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/giphy.webp","webp_size":"1819838"},"fixed_height":{"url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/200.gif","width":"356","height":"200","size":"892868","mp4":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/200.mp4","mp4_size":"322931","webp":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/200.webp","webp_size":"2597356"},"looping":{"mp4":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/giphy-loop.mp4","mp4_size":"3392324"},"original_mp4":{"width":"480","height":"270","mp4":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/giphy.mp4","mp4_size":"827796"},"preview_gif":{"url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/giphy-preview.gif","width":"249","height":"140","size":"49584"},"480w_still":{"url":"hkdKLmIgB3ane\/480w_s.jpg","width":"480","height":"270"}},"title":"animation
|
68
|
-
cartoon hangover GIF by Bee and Puppycat","image_original_url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/giphy.gif","image_url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/giphy.gif","image_mp4_url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/giphy.mp4","image_frames":"112","image_width":"400","image_height":"225","fixed_height_downsampled_url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/200_d.gif","fixed_height_downsampled_width":"356","fixed_height_downsampled_height":"200","fixed_width_downsampled_url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/200w_d.gif","fixed_width_downsampled_width":"200","fixed_width_downsampled_height":"113","fixed_height_small_url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/100.gif","fixed_height_small_still_url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/100_s.gif","fixed_height_small_width":"178","fixed_height_small_height":"100","fixed_width_small_url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/100w.gif","fixed_width_small_still_url":"https:\/\/media3.giphy.com\/media\/hkdKLmIgB3ane\/100w_s.gif","fixed_width_small_width":"100","fixed_width_small_height":"56","caption":""},"meta":{"status":200,"msg":"OK","response_id":"5aec508574684177590570c1"}}'
|
69
|
-
http_version:
|
70
|
-
recorded_at: Fri, 04 May 2018 12:22:30 GMT
|
71
|
-
recorded_with: VCR 3.0.3
|