yt 0.14.6 → 0.14.7
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 +4 -0
- data/README.md +9 -1
- data/lib/yt/collections/reports.rb +1 -0
- data/lib/yt/version.rb +1 -1
- data/spec/requests/as_content_owner/channel_spec.rb +20 -0
- data/spec/requests/as_content_owner/video_spec.rb +10 -0
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e26f7e87270dc0509123f5ea88302a280e54da66
|
|
4
|
+
data.tar.gz: 73f82aca406690352fb266e2129bc4288be40f4a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7c113de8d650081766da2ba86cbc85e2e038e02cf2e8f358ab76feabeacae8ca2fc5d29447e68608a0a31d2466177fe44722b4bfe2d25a40cb1004e7edfa2a50
|
|
7
|
+
data.tar.gz: 6600285bcf6beb7fb56d38bdb555cba51e745a0237c2a21059f9b3905faeec6487866b1deb3b028751b67a4d31fb2a27684c9f9bd63ea2f5eb12bdbdd7538c3b
|
data/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,10 @@ 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.14.7 - 2015-04-17
|
|
10
|
+
|
|
11
|
+
* [FEATURE] New `by: :device_type` option for reports, to return views and estimated watched minutes (channels) by device
|
|
12
|
+
|
|
9
13
|
## 0.14.6 - 2015-04-17
|
|
10
14
|
|
|
11
15
|
* [BUGFIX] Rescue OpenSSL::SSL::SSLErrorWaitReadable only on version of Ruby that define it.
|
data/README.md
CHANGED
|
@@ -41,7 +41,7 @@ To install on your system, run
|
|
|
41
41
|
|
|
42
42
|
To use inside a bundled Ruby project, add this line to the Gemfile:
|
|
43
43
|
|
|
44
|
-
gem 'yt', '~> 0.14.
|
|
44
|
+
gem 'yt', '~> 0.14.7'
|
|
45
45
|
|
|
46
46
|
Since the gem follows [Semantic Versioning](http://semver.org),
|
|
47
47
|
indicating the full version in your Gemfile (~> *major*.*minor*.*patch*)
|
|
@@ -155,6 +155,7 @@ Use [Yt::Channel](http://rubydoc.info/github/Fullscreen/yt/master/Yt/Models/Chan
|
|
|
155
155
|
* retrieve the views and estimated minutes watched by related video
|
|
156
156
|
* retrieve the views and estimated minutes watched by video
|
|
157
157
|
* retrieve the views and estimated minutes watched by playlist
|
|
158
|
+
* retrieve the views and estimated minutes watched by device type
|
|
158
159
|
* retrieve the viewer percentage of a channel by gender and age group
|
|
159
160
|
|
|
160
161
|
```ruby
|
|
@@ -234,6 +235,9 @@ channel.estimated_minutes_watched since: 7.days.ago, by: :video #=> {#<Yt::Model
|
|
|
234
235
|
|
|
235
236
|
channel.views since: 7.days.ago, by: :playlist #=> {#<Yt::Models::Playlist @id=...>: 10.0, #<Yt::Models::Playlist @id=...>: 20.0, …}
|
|
236
237
|
channel.estimated_minutes_watched since: 7.days.ago, by: :playlist #=> {#<Yt::Models::Playlist @id=...>: 10.0, #<Yt::Models::Playlist @id=...>: 20.0, …}
|
|
238
|
+
|
|
239
|
+
channel.views since: 7.days.ago, by: :device_type #=> {mobile: 144473.0, unknown_platform: 840.0, game_console: 4940.0, desktop: 102889.0, tv: 4134.0, tablet: 50189.0}
|
|
240
|
+
channel.estimated_minutes_watched since: 7.days.ago, by: :device_type #=> {mobile: 144473.0, unknown_platform: 840.0, game_console: 4940.0, desktop: 102889.0, tv: 4134.0, tablet: 50189.0}
|
|
237
241
|
```
|
|
238
242
|
|
|
239
243
|
*The methods above require to be authenticated as the channel’s account (see below).*
|
|
@@ -268,6 +272,8 @@ channel.views since: 7.days.ago, by: :video #=> {#<Yt::Models::Video @id=...>: 1
|
|
|
268
272
|
channel.estimated_minutes_watched since: 7.days.ago, by: :video #=> {#<Yt::Models::Video @id=...>: 10.0, #<Yt::Models::Video @id=...>: 20.0, …}
|
|
269
273
|
channel.views since: 7.days.ago, by: :playlist #=> {#<Yt::Models::Playlist @id=...>: 10.0, #<Yt::Models::Playlist @id=...>: 20.0, …}
|
|
270
274
|
channel.estimated_minutes_watched since: 7.days.ago, by: :playlist #=> {#<Yt::Models::Playlist @id=...>: 10.0, #<Yt::Models::Playlist @id=...>: 20.0, …}
|
|
275
|
+
channel.views since: 7.days.ago, by: :device_type #=> {mobile: 144473.0, unknown_platform: 840.0, game_console: 4940.0, desktop: 102889.0, tv: 4134.0, tablet: 50189.0}
|
|
276
|
+
channel.estimated_minutes_watched since: 7.days.ago, by: :device_type #=> {mobile: 144473.0, unknown_platform: 840.0, game_console: 4940.0, desktop: 102889.0, tv: 4134.0, tablet: 50189.0}
|
|
271
277
|
channel.monetized_playbacks_on 5.days.ago #=> 123.0
|
|
272
278
|
|
|
273
279
|
channel.content_owner #=> 'CMSname'
|
|
@@ -292,6 +298,7 @@ Use [Yt::Video](http://rubydoc.info/github/Fullscreen/yt/master/Yt/Models/Video)
|
|
|
292
298
|
* retrieve the views of a video by playback location
|
|
293
299
|
* retrieve the views of a video by embedded player location
|
|
294
300
|
* retrieve the views of a video by related video
|
|
301
|
+
* retrieve the views of a video by device type
|
|
295
302
|
* retrieve the viewer percentage of a video by gender and age group
|
|
296
303
|
* retrieve data about live-streaming videos
|
|
297
304
|
* retrieve the advertising options of a video
|
|
@@ -396,6 +403,7 @@ video.views since: 7.days.ago, by: :traffic_source #=> {advertising: 10.0, relat
|
|
|
396
403
|
video.views since: 7.days.ago, by: :playback_location #=> {:embedded=>6.0, :watch=>11.0}
|
|
397
404
|
video.views since: 7.days.ago, by: :embedded_player_location #=> {"fullscreen.net"=>45.0, "linkedin.com"=>5.0, "mashable.com"=>1.0, "unknown"=>1.0}
|
|
398
405
|
video.views since: 7.days.ago, by: :related_video #=> {#<Yt::Models::Video @id=...>: 10.0, #<Yt::Models::Video @id=...>: 20.0, …}
|
|
406
|
+
video.views since: 7.days.ago, by: :device_type #=> {mobile: 144473.0, unknown_platform: 840.0, game_console: 4940.0, desktop: 102889.0, tv: 4134.0, tablet: 50189.0}
|
|
399
407
|
|
|
400
408
|
video.delete #=> true
|
|
401
409
|
```
|
|
@@ -10,6 +10,7 @@ module Yt
|
|
|
10
10
|
hash[:related_video] = {name: 'insightTrafficSourceDetail', parse: ->(video_id) { Yt::Video.new id: video_id, auth: @auth } }
|
|
11
11
|
hash[:video] = {name: 'video', parse: ->(video_id) { Yt::Video.new id: video_id, auth: @auth } }
|
|
12
12
|
hash[:playlist] = {name: 'playlist', parse: ->(playlist_id) { Yt::Playlist.new id: playlist_id, auth: @auth } }
|
|
13
|
+
hash[:device_type] = {name: 'deviceType', parse: ->(type) { type.downcase.to_sym } }
|
|
13
14
|
end
|
|
14
15
|
|
|
15
16
|
# @see https://developers.google.com/youtube/analytics/v1/dimsmets/dims#Traffic_Source_Dimensions
|
data/lib/yt/version.rb
CHANGED
|
@@ -158,6 +158,16 @@ describe Yt::Channel, :partner do
|
|
|
158
158
|
end
|
|
159
159
|
end
|
|
160
160
|
|
|
161
|
+
describe 'views can be grouped by device type' do
|
|
162
|
+
let(:range) { {since: 4.days.ago, until: 3.days.ago} }
|
|
163
|
+
|
|
164
|
+
specify 'with the :by option set to :device_type' do
|
|
165
|
+
views = channel.views range.merge by: :device_type
|
|
166
|
+
expect(views.keys).to all(be_instance_of Symbol)
|
|
167
|
+
expect(views.values).to all(be_instance_of Float)
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
|
|
161
171
|
describe 'comments can be retrieved for a specific day' do
|
|
162
172
|
context 'in which the channel was partnered' do
|
|
163
173
|
let(:comments) { channel.comments_on 5.days.ago}
|
|
@@ -637,6 +647,16 @@ describe Yt::Channel, :partner do
|
|
|
637
647
|
end
|
|
638
648
|
end
|
|
639
649
|
|
|
650
|
+
describe 'estimated minutes watched can be grouped by device type' do
|
|
651
|
+
let(:range) { {since: 4.days.ago, until: 3.days.ago} }
|
|
652
|
+
|
|
653
|
+
specify 'with the :by option set to :device_type' do
|
|
654
|
+
estimated_minutes_watched = channel.estimated_minutes_watched range.merge by: :device_type
|
|
655
|
+
expect(estimated_minutes_watched.keys).to all(be_instance_of Symbol)
|
|
656
|
+
expect(estimated_minutes_watched.values).to all(be_instance_of Float)
|
|
657
|
+
end
|
|
658
|
+
end
|
|
659
|
+
|
|
640
660
|
describe 'average view duration can be retrieved for a specific day' do
|
|
641
661
|
context 'in which the channel was partnered' do
|
|
642
662
|
let(:average_view_duration) { channel.average_view_duration_on 5.days.ago}
|
|
@@ -130,6 +130,16 @@ describe Yt::Video, :partner do
|
|
|
130
130
|
end
|
|
131
131
|
end
|
|
132
132
|
|
|
133
|
+
describe 'views can be grouped by device type' do
|
|
134
|
+
let(:range) { {since: 4.days.ago, until: 3.days.ago} }
|
|
135
|
+
|
|
136
|
+
specify 'with the :by option set to :device_type' do
|
|
137
|
+
views = video.views range.merge by: :device_type
|
|
138
|
+
expect(views.keys).to all(be_instance_of Symbol)
|
|
139
|
+
expect(views.values).to all(be_instance_of Float)
|
|
140
|
+
end
|
|
141
|
+
end
|
|
142
|
+
|
|
133
143
|
describe 'comments can be retrieved for a specific day' do
|
|
134
144
|
context 'in which the video was partnered' do
|
|
135
145
|
let(:comments) { video.comments_on 5.days.ago}
|