lita-google-images 3.0.0 → 3.1.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/README.md +10 -1
- data/lib/lita/handlers/google_images.rb +24 -3
- data/lita-google-images.gemspec +1 -1
- data/spec/lita/handlers/google_images_spec.rb +23 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a7f8e2ee12d735f4214e6aac5a3438ff770b5620
|
4
|
+
data.tar.gz: 7e2b9dcbfdf686ad7e4a3df44d7d3cf3d08e2d43
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 92a46e59c670f62deb8550edf192856486a295bcffe6d60c84eea205d8f967e364e1fd8dd497dec384428c7028b888ea83b138a27df3c2d1f7ead6d74aac47fe
|
7
|
+
data.tar.gz: 54c4f0e5109430feaca1e0fa45ef8931ded17e1d3795c67571164a5ef3ec7a4dd81d2a906b64440134b50873a2b12e5d46364e3231763deee01e1fe70f991174
|
data/README.md
CHANGED
@@ -46,7 +46,16 @@ Lita: img carl the pug
|
|
46
46
|
Lita: img me carl the pug
|
47
47
|
```
|
48
48
|
|
49
|
-
The
|
49
|
+
The following are all equivalent ways of askign Lita to search for an animated GIF of "carl the pug":
|
50
|
+
|
51
|
+
```
|
52
|
+
Lita: animate carl the pug
|
53
|
+
Lita: animate me carl the pug
|
54
|
+
Lita: gif carl the pug
|
55
|
+
Lita: gif me carl the pug
|
56
|
+
```
|
57
|
+
|
58
|
+
The second form ("verb me") is to ease the transition for people coming from [Hubot](http://hubot.github.com/).
|
50
59
|
|
51
60
|
## License
|
52
61
|
|
@@ -21,11 +21,18 @@ module Lita
|
|
21
21
|
"image QUERY" => "Displays a random image from Google Images matching the query."
|
22
22
|
})
|
23
23
|
|
24
|
-
|
24
|
+
route(/(?:animate|gif)(?:\s+me)? (.+)/i, :fetch_anim, command: true, help: {
|
25
|
+
"animate QUERY" => "Displays a random animation from Google Images matching the query."
|
26
|
+
})
|
27
|
+
|
28
|
+
def fetch_anim(response)
|
29
|
+
fetch(response, true)
|
30
|
+
end
|
31
|
+
|
32
|
+
def fetch(response, animated = false)
|
25
33
|
query = response.matches[0][0]
|
26
34
|
|
27
|
-
|
28
|
-
URL,
|
35
|
+
query_params = {
|
29
36
|
v: "1.0",
|
30
37
|
searchType: 'image',
|
31
38
|
q: query,
|
@@ -34,6 +41,20 @@ module Lita
|
|
34
41
|
rsz: 8,
|
35
42
|
cx: config.google_cse_id,
|
36
43
|
key: config.google_cse_key
|
44
|
+
}
|
45
|
+
|
46
|
+
if animated
|
47
|
+
animated_params = {
|
48
|
+
fileType: "gif",
|
49
|
+
hq: "animated",
|
50
|
+
tbs: "itp:animated"
|
51
|
+
}
|
52
|
+
query_params.merge!(animated_params)
|
53
|
+
end
|
54
|
+
|
55
|
+
http_response = http.get(
|
56
|
+
URL,
|
57
|
+
query_params
|
37
58
|
)
|
38
59
|
|
39
60
|
data = MultiJson.load(http_response.body)
|
data/lita-google-images.gemspec
CHANGED
@@ -7,6 +7,12 @@ describe Lita::Handlers::GoogleImages, lita_handler: true do
|
|
7
7
|
it { is_expected.to route_command("img me foo").to(:fetch) }
|
8
8
|
it { is_expected.to route_command("IMAGE FOO").to(:fetch) }
|
9
9
|
|
10
|
+
it { is_expected.to route_command("animate me foo").to(:fetch_anim) }
|
11
|
+
it { is_expected.to route_command("animate foo").to(:fetch_anim) }
|
12
|
+
it { is_expected.to route_command("gif foo").to(:fetch_anim) }
|
13
|
+
it { is_expected.to route_command("gif me foo").to(:fetch_anim) }
|
14
|
+
it { is_expected.to route_command("ANIMATE FOO").to(:fetch_anim) }
|
15
|
+
|
10
16
|
describe "#foo" do
|
11
17
|
let(:response) { double("Faraday::Response", status: 200,) }
|
12
18
|
let(:fail_response) { double("Faraday::Response", status: 500) }
|
@@ -60,6 +66,23 @@ JSON
|
|
60
66
|
send_command("image carl")
|
61
67
|
expect(replies.last).to eq(%{No images found for "carl".})
|
62
68
|
end
|
69
|
+
|
70
|
+
it 'replies with an animation when requested' do
|
71
|
+
allow(response).to receive(:body).and_return(<<-JSON.chomp
|
72
|
+
{
|
73
|
+
"items": [
|
74
|
+
{
|
75
|
+
"link": "http://www.example.com/path/to/an/animation.gif"
|
76
|
+
}
|
77
|
+
]
|
78
|
+
}
|
79
|
+
JSON
|
80
|
+
)
|
81
|
+
send_command("animate carl")
|
82
|
+
expect(replies.last).to eq(
|
83
|
+
"http://www.example.com/path/to/an/animation.gif"
|
84
|
+
)
|
85
|
+
end
|
63
86
|
end
|
64
87
|
|
65
88
|
context "Failure" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lita-google-images
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jimmy Cuadra
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-02-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lita
|
@@ -133,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
133
|
version: '0'
|
134
134
|
requirements: []
|
135
135
|
rubyforge_project:
|
136
|
-
rubygems_version: 2.
|
136
|
+
rubygems_version: 2.5.1
|
137
137
|
signing_key:
|
138
138
|
specification_version: 4
|
139
139
|
summary: A Lita handler for fetching images from Google.
|