slack-ruby-bot 0.14.0 → 0.15.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|