lita-youtube-me 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/lib/lita/handlers/youtube_me.rb +3 -2
- data/lita-youtube-me.gemspec +1 -1
- data/spec/lita/handlers/youtube_me_spec.rb +13 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b69c15d7418f23826ab51582155b6a0f5aeefea6
|
4
|
+
data.tar.gz: 85623f1c85cb60c6e29bfa91389f8479e706406d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cbc9658f85ca27ce1c7aee9c4bf5b7de6c0b348e90a12edb4611d08ab331d7fc1a6385b74a907f86e6984eaee2adfefd895dd48f3e735d27b68d32ed18cbf030
|
7
|
+
data.tar.gz: 65a7a70f4f42160aa0a6b0de9699634d6069630262ffb3c2701b1bace3dda6ec695520b64d8f8f92644f112917ffeab3d83c3a4a899fc6f255832f3ca352b61c
|
data/README.md
CHANGED
@@ -23,11 +23,13 @@ end
|
|
23
23
|
### Optional attributes
|
24
24
|
* `video_info` (boolean) - When set to `true`, Lita will return additional information (title, duration, etc.) about the video. Default: `false`
|
25
25
|
* `detect_urls` (boolean) - When set to `true`, Lita will return additional information about any YouTube URLs it detects. Default: `false`
|
26
|
+
* `top_result` (boolean) - When set to `true`, Lita will return the top result in response to a video search. Default: `false`, which returns a random result selected from the top 15.
|
26
27
|
|
27
28
|
``` ruby
|
28
29
|
Lita.configure do |config|
|
29
30
|
config.handlers.youtube_me.video_info = true
|
30
31
|
config.handlers.youtube_me.detect_urls = true
|
32
|
+
config.handlers.youtube_me.top_result = true
|
31
33
|
end
|
32
34
|
```
|
33
35
|
|
@@ -9,6 +9,7 @@ module Lita
|
|
9
9
|
config :api_key, type: String, required: true
|
10
10
|
config :video_info, types: [TrueClass, FalseClass], default: false
|
11
11
|
config :detect_urls, types: [TrueClass, FalseClass], default: false
|
12
|
+
config :top_result, types: [TrueClass, FalseClass], default: false
|
12
13
|
|
13
14
|
route(/^(?:youtube|yt)(?: me)?\s+(.*)/i, :find_video, command: true, help: {
|
14
15
|
"youtube (me) QUERY" => "Gets a YouTube video."
|
@@ -28,8 +29,8 @@ module Lita
|
|
28
29
|
key: config.api_key
|
29
30
|
)
|
30
31
|
return if http_response.status != 200
|
31
|
-
videos = MultiJson.load(http_response.body)["items"]
|
32
|
-
video = videos.sample
|
32
|
+
videos = MultiJson.load(http_response.body)["items"].select { |v| v["id"].key?("videoId") }
|
33
|
+
video = config.top_result ? videos.first : videos.sample
|
33
34
|
id = video["id"]["videoId"]
|
34
35
|
response.reply "https://www.youtube.com/watch?v=#{id}"
|
35
36
|
if config.video_info
|
data/lita-youtube-me.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
2
|
spec.name = "lita-youtube-me"
|
3
|
-
spec.version = "0.0.
|
3
|
+
spec.version = "0.0.5"
|
4
4
|
spec.authors = ["Taylor Lapeyre"]
|
5
5
|
spec.email = ["taylorlapeyre@gmail.com"]
|
6
6
|
spec.description = %q{A Lita handler that replies with a youtube URL when given a query.}
|
@@ -30,6 +30,13 @@ describe Lita::Handlers::YoutubeMe, lita_handler: true do
|
|
30
30
|
expect(replies.last).to match(/youtube\.com/)
|
31
31
|
end
|
32
32
|
|
33
|
+
it "does not attempt to return a playlist" do
|
34
|
+
send_command("youtube babbletron birds")
|
35
|
+
expect(replies.count).to eq 1
|
36
|
+
expect(replies.last).to_not be_nil
|
37
|
+
expect(replies.last).not_to match(/^https:\/\/www\.youtube\.com\/watch\?v=$/)
|
38
|
+
end
|
39
|
+
|
33
40
|
it "displays info for a requested video when the video_info config variable is true" do
|
34
41
|
registry.config.handlers.youtube_me.video_info = true
|
35
42
|
send_command("yt soccer")
|
@@ -68,6 +75,12 @@ describe Lita::Handlers::YoutubeMe, lita_handler: true do
|
|
68
75
|
expect(replies.count).to eq 0
|
69
76
|
end
|
70
77
|
|
78
|
+
it "returns the top video in response to a query when the top_result config variable is true" do
|
79
|
+
registry.config.handlers.youtube_me.top_result = true
|
80
|
+
send_command("yt polica lay your cards out")
|
81
|
+
expect(replies.first).to match(/Rl03afAqeFQ/)
|
82
|
+
end
|
83
|
+
|
71
84
|
it "does not return a video in response to a query when the API key is invalid" do
|
72
85
|
registry.config.handlers.youtube_me.api_key = "this key doesn't work"
|
73
86
|
send_command("youtube me soccer")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lita-youtube-me
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Taylor Lapeyre
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-06-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lita
|