yt-audit 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d22bc33b226ff56a2c57df3ce4f125106e10bdb3
4
- data.tar.gz: d200f85fd658eb7d14c09affd9f18d92f50ff0e4
3
+ metadata.gz: 3b1fe37aecd80c49b1400627f9524dee01e121c1
4
+ data.tar.gz: 4ebfe22b48dd1de43377706def5699a82dafe4bc
5
5
  SHA512:
6
- metadata.gz: 4ef9aee52398808058bac7b86a0deb1a8d55d504c6a7d2920ea27db42d99f9188f61934739eea39b634ec85ce54861abb796427108a77017735ae2ed4a7c56a4
7
- data.tar.gz: 183d386266bf70a2978d17d5139175ed55d8abe559ed91221f01adc570853e85f80b515a55559bb3df2b409b94a2c660c9a6ff205fbb33504355769168683d8e
6
+ metadata.gz: 6cd840c4f215fe0247f836615c3f6d06806f3b91e6b77207188626de19c0e0dd8b96c5253f9c2b4638e2ad8bb7f5a2d143e10a0c3374a05e0908119be2e24a28
7
+ data.tar.gz: 9e3461470f01cf749fa6e59bc3de5e062decffac1cd3b36e5d1cb882c0cb3afb75b075e595da45e0f93c5d907db18ffdcd4e35d46462d2e16b34b69a770aab0e
data/CHANGELOG.md CHANGED
@@ -6,6 +6,15 @@ For more information about changelogs, check
6
6
  [Keep a Changelog](http://keepachangelog.com) and
7
7
  [Vandamme](http://tech-angels.github.io/vandamme).
8
8
 
9
+ ## 0.5.2 - 2017-06-14
10
+
11
+ * [FEATURE] Add `VideoAudit::EndScreen` to count videos with end screens.
12
+ * [FEATURE] Add `VideoAudit::TagsLength` to count videos with more than 400 characters in tags.
13
+ * [FEATURE] Add `VideoAudit::SubscribeEndScreen` to count videos with a subscribe link in end screens.
14
+ * [FEATURE] Add `VideoAudit::VideoEndScreen` to count videos with a video link in end screens.
15
+ * [FEATURE] Add `VideoAudit::PlaylistEndScreen` to count videos with a playlist link in end screens.
16
+ * [FEATURE] Add `VideoAudit::WebsiteEndScreen` to count videos with a website link in end screens.
17
+
9
18
  ## 0.5.1 - 2017-05-03
10
19
 
11
20
  * [ENHANCEMENT] Reduce API calls to YouTube using .count, not .size
data/lib/yt/audit.rb CHANGED
@@ -7,6 +7,12 @@ require 'yt/video_audit/subscribe_annotation'
7
7
  require 'yt/video_audit/youtube_association'
8
8
  require 'yt/video_audit/end_card'
9
9
  require 'yt/playlist_audit/description'
10
+ require 'yt/video_audit/end_screen'
11
+ require 'yt/video_audit/tags_length'
12
+ require 'yt/video_audit/subscribe_end_screen'
13
+ require 'yt/video_audit/video_end_screen'
14
+ require 'yt/video_audit/playlist_end_screen'
15
+ require 'yt/video_audit/website_end_screen'
10
16
 
11
17
  module Yt
12
18
  class Audit
@@ -24,7 +30,13 @@ module Yt
24
30
  Yt::VideoAudit::SubscribeAnnotation.new(videos: @videos),
25
31
  Yt::VideoAudit::YoutubeAssociation.new(videos: @videos),
26
32
  Yt::VideoAudit::EndCard.new(videos: @videos),
27
- Yt::PlaylistAudit::Description.new(playlists: @playlists)
33
+ Yt::PlaylistAudit::Description.new(playlists: @playlists),
34
+ Yt::VideoAudit::EndScreen.new(videos: @videos),
35
+ Yt::VideoAudit::TagsLength.new(videos: @videos),
36
+ Yt::VideoAudit::SubscribeEndScreen.new(videos: @videos),
37
+ Yt::VideoAudit::VideoEndScreen.new(videos: @videos),
38
+ Yt::VideoAudit::PlaylistEndScreen.new(videos: @videos),
39
+ Yt::VideoAudit::WebsiteEndScreen.new(videos: @videos)
28
40
  ]
29
41
  end
30
42
  end
@@ -1,5 +1,5 @@
1
1
  module Yt
2
2
  class Audit
3
- VERSION = '0.5.1'
3
+ VERSION = '0.5.2'
4
4
  end
5
5
  end
@@ -0,0 +1,24 @@
1
+ require 'yt/video_audit/base'
2
+
3
+ module Yt
4
+ module VideoAudit
5
+ # Count how many subject videos have any end screen.
6
+ class EndScreen < Base
7
+ def title
8
+ 'End Screens'
9
+ end
10
+
11
+ def description
12
+ 'The number of videos with at least one end screen'
13
+ end
14
+
15
+ private
16
+
17
+ def valid?(video)
18
+ Yt::Annotations.for(video.id).any? do |annotation|
19
+ annotation.instance_of? Yt::Annotations::EndScreen
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,26 @@
1
+ require 'yt/video_audit/base'
2
+
3
+ module Yt
4
+ module VideoAudit
5
+ # Count how many subject videos have an end screens
6
+ # with a playlist link.
7
+ class PlaylistEndScreen < Base
8
+ def title
9
+ 'Playlist End Screens'
10
+ end
11
+
12
+ def description
13
+ 'The number of videos with any link to a playlist in its end screens'
14
+ end
15
+
16
+ private
17
+
18
+ def valid?(video)
19
+ Yt::Annotations.for(video.id).any? do |annotation|
20
+ annotation.instance_of?(Yt::Annotations::EndScreen) &&
21
+ annotation.link && annotation.link[:type] == :playlist
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ require 'yt/video_audit/base'
2
+
3
+ module Yt
4
+ module VideoAudit
5
+ # Count how many subject videos have an end screens
6
+ # with a subscribe link.
7
+ class SubscribeEndScreen < Base
8
+ def title
9
+ 'Subscribe End Screens'
10
+ end
11
+
12
+ def description
13
+ 'The number of videos with any link to subscribe in its end screens'
14
+ end
15
+
16
+ private
17
+
18
+ def valid?(video)
19
+ Yt::Annotations.for(video.id).any? do |annotation|
20
+ annotation.instance_of?(Yt::Annotations::EndScreen) &&
21
+ annotation.link && annotation.link[:type] == :subscribe
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,25 @@
1
+ require 'yt/video_audit/base'
2
+
3
+ module Yt
4
+ module VideoAudit
5
+ # Count how many subject videos use at least 80% of 500 character limit
6
+ # of tags.
7
+ class TagsLength < Base
8
+ def title
9
+ 'Length of Tags'
10
+ end
11
+
12
+ def description
13
+ 'The number of videos that use at least 80%'\
14
+ ' of the available tags length limit'
15
+ end
16
+
17
+ private
18
+
19
+ def valid?(video)
20
+ tags_length = video.tags.map {|tag| tag.include?(' ') ? "\"#{tag}\"" : tag }.join(",").length
21
+ tags_length / 500.0 >= 0.8
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,26 @@
1
+ require 'yt/video_audit/base'
2
+
3
+ module Yt
4
+ module VideoAudit
5
+ # Count how many subject videos have an end screens
6
+ # with a video link.
7
+ class VideoEndScreen < Base
8
+ def title
9
+ 'Video End Screens'
10
+ end
11
+
12
+ def description
13
+ 'The number of videos with any link to a video in its end screens'
14
+ end
15
+
16
+ private
17
+
18
+ def valid?(video)
19
+ Yt::Annotations.for(video.id).any? do |annotation|
20
+ annotation.instance_of?(Yt::Annotations::EndScreen) &&
21
+ annotation.link && annotation.link[:type] == :video
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ require 'yt/video_audit/base'
2
+
3
+ module Yt
4
+ module VideoAudit
5
+ # Count how many subject videos have an end screens
6
+ # with a website link.
7
+ class WebsiteEndScreen < Base
8
+ def title
9
+ 'Website End Screens'
10
+ end
11
+
12
+ def description
13
+ 'The number of videos with any external link in its end screens'
14
+ end
15
+
16
+ private
17
+
18
+ def valid?(video)
19
+ Yt::Annotations.for(video.id).any? do |annotation|
20
+ annotation.instance_of?(Yt::Annotations::EndScreen) &&
21
+ annotation.link && annotation.link[:type] == :website
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yt-audit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Claudio Baccigalupo
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2017-05-03 00:00:00.000000000 Z
12
+ date: 2017-06-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: yt-core
@@ -163,8 +163,14 @@ files:
163
163
  - lib/yt/video_audit/base.rb
164
164
  - lib/yt/video_audit/brand_anchoring.rb
165
165
  - lib/yt/video_audit/end_card.rb
166
+ - lib/yt/video_audit/end_screen.rb
166
167
  - lib/yt/video_audit/info_card.rb
168
+ - lib/yt/video_audit/playlist_end_screen.rb
167
169
  - lib/yt/video_audit/subscribe_annotation.rb
170
+ - lib/yt/video_audit/subscribe_end_screen.rb
171
+ - lib/yt/video_audit/tags_length.rb
172
+ - lib/yt/video_audit/video_end_screen.rb
173
+ - lib/yt/video_audit/website_end_screen.rb
168
174
  - lib/yt/video_audit/youtube_association.rb
169
175
  - yt-audit.gemspec
170
176
  homepage: https://github.com/fullscreen/yt-audit