yt 0.6.1 → 0.6.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- data/Gemfile.lock +1 -1
- data/HISTORY.md +3 -0
- data/README.md +5 -1
- data/TODO.md +0 -2
- data/bin/yt +2 -0
- data/lib/yt/actions/delete_all.rb +2 -2
- data/lib/yt/associations/authentications.rb +17 -2
- data/lib/yt/collections/base.rb +6 -0
- data/lib/yt/collections/statuses.rb +22 -0
- data/lib/yt/collections/subscriptions.rb +1 -1
- data/lib/yt/collections/videos.rb +6 -1
- data/lib/yt/models/account.rb +6 -12
- data/lib/yt/models/base.rb +28 -2
- data/lib/yt/models/channel.rb +37 -2
- data/lib/yt/models/playlist.rb +24 -0
- data/lib/yt/models/video.rb +19 -0
- data/lib/yt/version.rb +1 -1
- data/spec/associations/device_auth/account_spec.rb +31 -0
- data/spec/associations/device_auth/channel_spec.rb +114 -0
- data/spec/associations/device_auth/content_owner_spec.rb +8 -0
- data/spec/associations/device_auth/earnings_spec.rb +2 -0
- data/spec/associations/device_auth/playlist_spec.rb +136 -0
- data/spec/associations/device_auth/{ids_spec.rb → resource_spec.rb} +2 -2
- data/spec/associations/device_auth/video_spec.rb +42 -0
- data/spec/associations/no_auth/video_spec.rb +13 -0
- data/spec/associations/server_auth/channel_spec.rb +50 -0
- data/spec/associations/server_auth/playlist_spec.rb +36 -0
- data/spec/associations/server_auth/{ids_spec.rb → resource_spec.rb} +2 -2
- data/spec/associations/server_auth/video_spec.rb +22 -0
- data/spec/models/channel_spec.rb +7 -0
- metadata +25 -60
- data/lib/yt/associations.rb +0 -38
- data/lib/yt/associations/annotations.rb +0 -15
- data/lib/yt/associations/channels.rb +0 -20
- data/lib/yt/associations/details_sets.rb +0 -20
- data/lib/yt/associations/ids.rb +0 -20
- data/lib/yt/associations/partnered_channels.rb +0 -14
- data/lib/yt/associations/playlist_items.rb +0 -34
- data/lib/yt/associations/playlists.rb +0 -22
- data/lib/yt/associations/ratings.rb +0 -39
- data/lib/yt/associations/snippets.rb +0 -20
- data/lib/yt/associations/statuses.rb +0 -14
- data/lib/yt/associations/subscriptions.rb +0 -34
- data/lib/yt/associations/user_infos.rb +0 -21
- data/lib/yt/associations/videos.rb +0 -14
- data/spec/associations/device_auth/channels_spec.rb +0 -8
- data/spec/associations/device_auth/details_sets_spec.rb +0 -18
- data/spec/associations/device_auth/partnered_channels_spec.rb +0 -15
- data/spec/associations/device_auth/playlist_items_spec.rb +0 -79
- data/spec/associations/device_auth/playlists_spec.rb +0 -61
- data/spec/associations/device_auth/ratings_spec.rb +0 -28
- data/spec/associations/device_auth/snippets_spec.rb +0 -28
- data/spec/associations/device_auth/subscriptions_spec.rb +0 -35
- data/spec/associations/device_auth/user_infos_spec.rb +0 -12
- data/spec/associations/device_auth/videos_spec.rb +0 -20
- data/spec/associations/no_auth/annotations_spec.rb +0 -15
- data/spec/associations/server_auth/channels_spec.rb +0 -2
- data/spec/associations/server_auth/details_sets_spec.rb +0 -18
- data/spec/associations/server_auth/playlist_items_spec.rb +0 -17
- data/spec/associations/server_auth/playlists_spec.rb +0 -17
- data/spec/associations/server_auth/ratings_spec.rb +0 -2
- data/spec/associations/server_auth/snippets_spec.rb +0 -28
- data/spec/associations/server_auth/subscriptions_spec.rb +0 -2
- data/spec/associations/server_auth/user_infos_spec.rb +0 -2
- data/spec/associations/server_auth/videos_spec.rb +0 -20
@@ -0,0 +1,8 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'yt/models/content_owner'
|
3
|
+
|
4
|
+
describe Yt::ContentOwner, :partner do
|
5
|
+
# NOTE: Uncomment once size does not runs through *all* the pages
|
6
|
+
# it { expect($content_owner.partnered_channels.size).to be > 0 }
|
7
|
+
it { expect($content_owner.partnered_channels.first).to be_a Yt::Channel }
|
8
|
+
end
|
@@ -0,0 +1,136 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
require 'yt/models/playlist'
|
5
|
+
|
6
|
+
describe Yt::Playlist, :device_app do
|
7
|
+
let(:playlist) { Yt::Playlist.new id: id, auth: $account }
|
8
|
+
|
9
|
+
describe '.snippet of existing playlist' do
|
10
|
+
let(:id) { 'PLSWYkYzOrPMRCK6j0UgryI8E0NHhoVdRc' }
|
11
|
+
it { expect(playlist.snippet).to be_a Yt::Snippet }
|
12
|
+
end
|
13
|
+
|
14
|
+
describe '.status of existing playlist' do
|
15
|
+
let(:id) { 'PLSWYkYzOrPMRCK6j0UgryI8E0NHhoVdRc' }
|
16
|
+
it { expect(playlist.status).to be_a Yt::Status }
|
17
|
+
end
|
18
|
+
|
19
|
+
describe '.snippet of unknown playlist' do
|
20
|
+
let(:id) { 'not-a-playlist-id' }
|
21
|
+
it { expect{playlist.snippet}.to raise_error Yt::Errors::NoItems }
|
22
|
+
end
|
23
|
+
|
24
|
+
describe '.status of unknown playlist' do
|
25
|
+
let(:id) { 'not-a-playlist-id' }
|
26
|
+
it { expect{playlist.status}.to raise_error Yt::Errors::NoItems }
|
27
|
+
end
|
28
|
+
|
29
|
+
describe '.delete on my own playlist' do
|
30
|
+
before(:all) { @my_playlist = $account.create_playlist title: "Yt Test Delete Playlist #{rand}" }
|
31
|
+
let(:id) { @my_playlist.id }
|
32
|
+
|
33
|
+
it { expect(playlist.delete).to be true }
|
34
|
+
end
|
35
|
+
|
36
|
+
describe '.delete on someone else’s playlist' do
|
37
|
+
let(:id) { 'PLSWYkYzOrPMRCK6j0UgryI8E0NHhoVdRc' }
|
38
|
+
|
39
|
+
it { expect{playlist.delete}.to fail.with 'forbidden' }
|
40
|
+
end
|
41
|
+
|
42
|
+
describe '.update on my own playlist' do
|
43
|
+
before(:all) { @my_playlist = $account.create_playlist title: "Yt Test Update Playlist #{rand}" }
|
44
|
+
after(:all) { @my_playlist.delete }
|
45
|
+
let(:id) { @my_playlist.id }
|
46
|
+
|
47
|
+
context 'changes the attributes that are specified to be updated' do
|
48
|
+
let(:attrs) { {title: "Yt Test Update Playlist #{rand} - new title"} }
|
49
|
+
it { expect(playlist.update attrs).to eq true }
|
50
|
+
it { expect{playlist.update attrs}.to change{playlist.title} }
|
51
|
+
end
|
52
|
+
|
53
|
+
context 'does not changes the attributes that are not specified to be updated' do
|
54
|
+
let(:attrs) { {} }
|
55
|
+
it { expect(playlist.update attrs).to eq true }
|
56
|
+
it { expect{playlist.update attrs}.not_to change{playlist.title} }
|
57
|
+
it { expect{playlist.update attrs}.not_to change{playlist.description} }
|
58
|
+
it { expect{playlist.update attrs}.not_to change{playlist.tags} }
|
59
|
+
it { expect{playlist.update attrs}.not_to change{playlist.privacy_status} }
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
describe '.update on someone else’s playlist' do
|
64
|
+
let(:id) { 'PLSWYkYzOrPMRCK6j0UgryI8E0NHhoVdRc' }
|
65
|
+
|
66
|
+
it { expect{playlist.update}.to fail.with 'forbidden' }
|
67
|
+
end
|
68
|
+
|
69
|
+
describe '.playlist_items of my own playlist' do
|
70
|
+
before(:all) { @my_playlist = $account.create_playlist title: "Yt Test Items" }
|
71
|
+
after(:all) { @my_playlist.delete }
|
72
|
+
let(:id) { @my_playlist.id }
|
73
|
+
|
74
|
+
it { expect(playlist.playlist_items).to be_a Yt::Collections::PlaylistItems }
|
75
|
+
|
76
|
+
context 'given an existing video' do
|
77
|
+
let(:video_id) { 'MESycYJytkU' }
|
78
|
+
|
79
|
+
describe 'can be added' do
|
80
|
+
it { expect(playlist.add_video video_id).to be_a Yt::PlaylistItem }
|
81
|
+
it { expect{playlist.add_video video_id}.to change{playlist.playlist_items.count}.by(1) }
|
82
|
+
it { expect(playlist.add_video! video_id).to be_a Yt::PlaylistItem }
|
83
|
+
it { expect{playlist.add_video! video_id}.to change{playlist.playlist_items.count}.by(1) }
|
84
|
+
end
|
85
|
+
|
86
|
+
describe 'can be removed' do
|
87
|
+
before { playlist.add_video video_id }
|
88
|
+
|
89
|
+
it { expect(playlist.delete_playlist_items.uniq).to eq [true] }
|
90
|
+
it { expect{playlist.delete_playlist_items}.to change{playlist.playlist_items.count} }
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
context 'given an unknown video' do
|
95
|
+
let(:video_id) { 'not-a-video' }
|
96
|
+
|
97
|
+
describe 'cannot be added' do
|
98
|
+
it { expect(playlist.add_video video_id).to be_nil }
|
99
|
+
it { expect{playlist.add_video video_id}.not_to change{playlist.playlist_items.count} }
|
100
|
+
it { expect{playlist.add_video! video_id}.to fail.with 'videoNotFound' }
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
context 'given a video of a terminated account' do
|
105
|
+
let(:video_id) { 'kDCpdKeTe5g' }
|
106
|
+
|
107
|
+
describe 'cannot be added' do
|
108
|
+
it { expect(playlist.add_video video_id).to be_nil }
|
109
|
+
it { expect{playlist.add_video video_id}.not_to change{playlist.playlist_items.count} }
|
110
|
+
it { expect{playlist.add_video! video_id}.to fail.with 'forbidden' }
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
context 'given one existing and one unknown video' do
|
115
|
+
let(:video_ids) { ['MESycYJytkU', 'not-a-video'] }
|
116
|
+
|
117
|
+
describe 'only one can be added' do
|
118
|
+
it { expect(playlist.add_videos(video_ids).length).to eq 2 }
|
119
|
+
it { expect{playlist.add_videos video_ids}.to change{playlist.playlist_items.count}.by(1) }
|
120
|
+
it { expect{playlist.add_videos! video_ids}.to fail.with 'videoNotFound' }
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
describe '.playlist_items of someone else’s playlist' do
|
126
|
+
let(:id) { 'PLSWYkYzOrPMRCK6j0UgryI8E0NHhoVdRc' }
|
127
|
+
let(:video_id) { 'MESycYJytkU' }
|
128
|
+
|
129
|
+
it { expect(playlist.playlist_items).to be_a Yt::Collections::PlaylistItems }
|
130
|
+
|
131
|
+
describe 'cannot be created or destroyed' do
|
132
|
+
it { expect{playlist.add_video! video_id}.to raise_error Yt::Errors::RequestError }
|
133
|
+
it { expect{playlist.delete_playlist_items}.to raise_error Yt::Errors::RequestError }
|
134
|
+
end
|
135
|
+
end
|
136
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require 'yt/
|
2
|
+
require 'yt/models/resource'
|
3
3
|
|
4
|
-
describe Yt::
|
4
|
+
describe Yt::Resource, :device_app do
|
5
5
|
subject(:resource) { Yt::Resource.new url: url, auth: $account }
|
6
6
|
|
7
7
|
describe '#id' do
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'yt/models/video'
|
3
|
+
|
4
|
+
describe Yt::Video, :device_app do
|
5
|
+
subject(:video) { Yt::Video.new id: id, auth: $account }
|
6
|
+
|
7
|
+
context 'given an existing video' do
|
8
|
+
let(:id) { 'MESycYJytkU' }
|
9
|
+
|
10
|
+
it { expect(video.details_set).to be_a Yt::DetailsSet }
|
11
|
+
it { expect(video.snippet).to be_a Yt::Snippet }
|
12
|
+
it { expect(video.rating).to be_a Yt::Rating }
|
13
|
+
it { expect(video.status).to be_a Yt::Status }
|
14
|
+
|
15
|
+
context 'that I like' do
|
16
|
+
before { video.like }
|
17
|
+
it { expect(video).to be_liked }
|
18
|
+
it { expect(video.dislike).to be true }
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'that I dislike' do
|
22
|
+
before { video.dislike }
|
23
|
+
it { expect(video).not_to be_liked }
|
24
|
+
it { expect(video.like).to be true }
|
25
|
+
end
|
26
|
+
|
27
|
+
context 'that I am indifferent to' do
|
28
|
+
before { video.unlike }
|
29
|
+
it { expect(video).not_to be_liked }
|
30
|
+
it { expect(video.like).to be true }
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
context 'given an unknown video' do
|
35
|
+
let(:id) { 'not-a-video-id' }
|
36
|
+
|
37
|
+
it { expect{video.details_set}.to raise_error Yt::Errors::NoItems }
|
38
|
+
it { expect{video.snippet}.to raise_error Yt::Errors::NoItems }
|
39
|
+
it { expect{video.rating}.to raise_error Yt::Errors::NoItems }
|
40
|
+
it { expect{video.status}.to raise_error Yt::Errors::NoItems }
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'yt/models/video'
|
3
|
+
|
4
|
+
describe Yt::Video, :device_app do
|
5
|
+
subject(:video) { Yt::Video.new id: id, auth: $account }
|
6
|
+
|
7
|
+
context 'given an existing video with annotations' do
|
8
|
+
let(:id) { 'MESycYJytkU' }
|
9
|
+
|
10
|
+
it { expect(video.annotations).to be_a Yt::Collections::Annotations }
|
11
|
+
it { expect(video.annotations.first).to be_a Yt::Annotation }
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
require 'yt/models/channel'
|
5
|
+
|
6
|
+
describe Yt::Channel, :server_app do
|
7
|
+
let(:channel) { Yt::Channel.new id: id }
|
8
|
+
|
9
|
+
describe '.snippet of existing channel' do
|
10
|
+
let(:id) { 'UCxO1tY8h1AhOz0T4ENwmpow' }
|
11
|
+
it { expect(channel.snippet).to be_a Yt::Snippet }
|
12
|
+
end
|
13
|
+
|
14
|
+
describe '.snippet of unknown channel' do
|
15
|
+
let(:id) { 'not-a-channel-id' }
|
16
|
+
it { expect{channel.snippet}.to raise_error Yt::Errors::NoItems }
|
17
|
+
end
|
18
|
+
|
19
|
+
describe '.status of existing channel' do
|
20
|
+
let(:id) { 'UCxO1tY8h1AhOz0T4ENwmpow' }
|
21
|
+
it { expect(channel.status).to be_a Yt::Status }
|
22
|
+
end
|
23
|
+
|
24
|
+
describe '.status of unknown channel' do
|
25
|
+
let(:id) { 'not-a-channel-id' }
|
26
|
+
it { expect{channel.status}.to raise_error Yt::Errors::NoItems }
|
27
|
+
end
|
28
|
+
|
29
|
+
describe '.videos of existing channel' do
|
30
|
+
let(:id) { 'UCxO1tY8h1AhOz0T4ENwmpow' }
|
31
|
+
it { expect(channel.videos).to be_a Yt::Collections::Videos }
|
32
|
+
it { expect(channel.videos.first).to be_a Yt::Video }
|
33
|
+
end
|
34
|
+
|
35
|
+
describe '.videos of unknown channel starting with UC' do
|
36
|
+
let(:id) { 'UC-not-a-channel-id' }
|
37
|
+
|
38
|
+
# NOTE: This test is just a reflection of YouTube irrational behavior of
|
39
|
+
# returns 0 results if the name of an unknown channel starts with UC, but
|
40
|
+
# returning 100,000 results otherwise (ignoring the channel filter).
|
41
|
+
it { expect(channel.videos.count).to be 0 }
|
42
|
+
end
|
43
|
+
|
44
|
+
describe '.playlists of someone else’s channel' do
|
45
|
+
let(:id) { 'UCxO1tY8h1AhOz0T4ENwmpow' }
|
46
|
+
|
47
|
+
it { expect(channel.playlists).to be_a Yt::Collections::Playlists }
|
48
|
+
it { expect(channel.playlists.first).to be_a Yt::Playlist }
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
require 'yt/models/playlist'
|
5
|
+
|
6
|
+
describe Yt::Playlist, :server_app do
|
7
|
+
let(:playlist) { Yt::Playlist.new id: id }
|
8
|
+
|
9
|
+
describe '.snippet of existing playlist' do
|
10
|
+
let(:id) { 'PLSWYkYzOrPMRCK6j0UgryI8E0NHhoVdRc' }
|
11
|
+
it { expect(playlist.snippet).to be_a Yt::Snippet }
|
12
|
+
end
|
13
|
+
|
14
|
+
describe '.status of existing playlist' do
|
15
|
+
let(:id) { 'PLSWYkYzOrPMRCK6j0UgryI8E0NHhoVdRc' }
|
16
|
+
it { expect(playlist.status).to be_a Yt::Status }
|
17
|
+
end
|
18
|
+
|
19
|
+
describe '.snippet of unknown playlist' do
|
20
|
+
let(:id) { 'not-a-playlist-id' }
|
21
|
+
it { expect{playlist.snippet}.to raise_error Yt::Errors::NoItems }
|
22
|
+
end
|
23
|
+
|
24
|
+
describe '.status of unknown playlist' do
|
25
|
+
let(:id) { 'not-a-playlist-id' }
|
26
|
+
it { expect{playlist.status}.to raise_error Yt::Errors::NoItems }
|
27
|
+
end
|
28
|
+
|
29
|
+
describe '.playlist_items of someone else’s playlist' do
|
30
|
+
let(:id) { 'PLSWYkYzOrPMRCK6j0UgryI8E0NHhoVdRc' }
|
31
|
+
let(:video_id) { 'MESycYJytkU' }
|
32
|
+
|
33
|
+
it { expect(playlist.playlist_items).to be_a Yt::Collections::PlaylistItems }
|
34
|
+
it { expect(playlist.playlist_items.first).to be_a Yt::PlaylistItem }
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'yt/models/video'
|
3
|
+
|
4
|
+
describe Yt::Video, :server_app do
|
5
|
+
subject(:video) { Yt::Video.new id: id }
|
6
|
+
|
7
|
+
context 'given an existing video' do
|
8
|
+
let(:id) { 'MESycYJytkU' }
|
9
|
+
|
10
|
+
it { expect(video.details_set).to be_a Yt::DetailsSet }
|
11
|
+
it { expect(video.snippet).to be_a Yt::Snippet }
|
12
|
+
it { expect(video.status).to be_a Yt::Status }
|
13
|
+
end
|
14
|
+
|
15
|
+
context 'given an unknown video' do
|
16
|
+
let(:id) { 'not-a-video-id' }
|
17
|
+
|
18
|
+
it { expect{video.details_set}.to raise_error Yt::Errors::NoItems }
|
19
|
+
it { expect{video.snippet}.to raise_error Yt::Errors::NoItems }
|
20
|
+
it { expect{video.status}.to raise_error Yt::Errors::NoItems }
|
21
|
+
end
|
22
|
+
end
|
data/spec/models/channel_spec.rb
CHANGED
@@ -10,4 +10,11 @@ describe Yt::Channel do
|
|
10
10
|
it { expect(channel.snippet).to be_a Yt::Snippet }
|
11
11
|
end
|
12
12
|
end
|
13
|
+
|
14
|
+
describe '#status' do
|
15
|
+
context 'given fetching a channel returns a status' do
|
16
|
+
let(:attrs) { {status: {"privacyStatus"=>"public"}} }
|
17
|
+
it { expect(channel.status).to be_a Yt::Status }
|
18
|
+
end
|
19
|
+
end
|
13
20
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Claudio Baccigalupo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -122,22 +122,8 @@ files:
|
|
122
122
|
- lib/yt/actions/insert.rb
|
123
123
|
- lib/yt/actions/list.rb
|
124
124
|
- lib/yt/actions/update.rb
|
125
|
-
- lib/yt/associations.rb
|
126
|
-
- lib/yt/associations/annotations.rb
|
127
125
|
- lib/yt/associations/authentications.rb
|
128
|
-
- lib/yt/associations/channels.rb
|
129
|
-
- lib/yt/associations/details_sets.rb
|
130
126
|
- lib/yt/associations/earnings.rb
|
131
|
-
- lib/yt/associations/ids.rb
|
132
|
-
- lib/yt/associations/partnered_channels.rb
|
133
|
-
- lib/yt/associations/playlist_items.rb
|
134
|
-
- lib/yt/associations/playlists.rb
|
135
|
-
- lib/yt/associations/ratings.rb
|
136
|
-
- lib/yt/associations/snippets.rb
|
137
|
-
- lib/yt/associations/statuses.rb
|
138
|
-
- lib/yt/associations/subscriptions.rb
|
139
|
-
- lib/yt/associations/user_infos.rb
|
140
|
-
- lib/yt/associations/videos.rb
|
141
127
|
- lib/yt/associations/views.rb
|
142
128
|
- lib/yt/collections/annotations.rb
|
143
129
|
- lib/yt/collections/authentications.rb
|
@@ -151,6 +137,7 @@ files:
|
|
151
137
|
- lib/yt/collections/playlists.rb
|
152
138
|
- lib/yt/collections/ratings.rb
|
153
139
|
- lib/yt/collections/snippets.rb
|
140
|
+
- lib/yt/collections/statuses.rb
|
154
141
|
- lib/yt/collections/subscriptions.rb
|
155
142
|
- lib/yt/collections/user_infos.rb
|
156
143
|
- lib/yt/collections/videos.rb
|
@@ -183,31 +170,20 @@ files:
|
|
183
170
|
- lib/yt/models/user_info.rb
|
184
171
|
- lib/yt/models/video.rb
|
185
172
|
- lib/yt/version.rb
|
173
|
+
- spec/associations/device_auth/account_spec.rb
|
186
174
|
- spec/associations/device_auth/authentications_spec.rb
|
187
|
-
- spec/associations/device_auth/
|
188
|
-
- spec/associations/device_auth/
|
175
|
+
- spec/associations/device_auth/channel_spec.rb
|
176
|
+
- spec/associations/device_auth/content_owner_spec.rb
|
189
177
|
- spec/associations/device_auth/earnings_spec.rb
|
190
|
-
- spec/associations/device_auth/
|
191
|
-
- spec/associations/device_auth/
|
192
|
-
- spec/associations/device_auth/
|
193
|
-
- spec/associations/device_auth/playlists_spec.rb
|
194
|
-
- spec/associations/device_auth/ratings_spec.rb
|
195
|
-
- spec/associations/device_auth/snippets_spec.rb
|
196
|
-
- spec/associations/device_auth/subscriptions_spec.rb
|
197
|
-
- spec/associations/device_auth/user_infos_spec.rb
|
198
|
-
- spec/associations/device_auth/videos_spec.rb
|
178
|
+
- spec/associations/device_auth/playlist_spec.rb
|
179
|
+
- spec/associations/device_auth/resource_spec.rb
|
180
|
+
- spec/associations/device_auth/video_spec.rb
|
199
181
|
- spec/associations/device_auth/views_spec.rb
|
200
|
-
- spec/associations/no_auth/
|
201
|
-
- spec/associations/server_auth/
|
202
|
-
- spec/associations/server_auth/
|
203
|
-
- spec/associations/server_auth/
|
204
|
-
- spec/associations/server_auth/
|
205
|
-
- spec/associations/server_auth/playlists_spec.rb
|
206
|
-
- spec/associations/server_auth/ratings_spec.rb
|
207
|
-
- spec/associations/server_auth/snippets_spec.rb
|
208
|
-
- spec/associations/server_auth/subscriptions_spec.rb
|
209
|
-
- spec/associations/server_auth/user_infos_spec.rb
|
210
|
-
- spec/associations/server_auth/videos_spec.rb
|
182
|
+
- spec/associations/no_auth/video_spec.rb
|
183
|
+
- spec/associations/server_auth/channel_spec.rb
|
184
|
+
- spec/associations/server_auth/playlist_spec.rb
|
185
|
+
- spec/associations/server_auth/resource_spec.rb
|
186
|
+
- spec/associations/server_auth/video_spec.rb
|
211
187
|
- spec/collections/annotations_spec.rb
|
212
188
|
- spec/collections/channels_spec.rb
|
213
189
|
- spec/collections/details_sets_spec.rb
|
@@ -269,31 +245,20 @@ specification_version: 4
|
|
269
245
|
summary: Yt makes it easy to interact with Youtube V3 API by providing a modular,
|
270
246
|
intuitive and tested Ruby-style API.
|
271
247
|
test_files:
|
248
|
+
- spec/associations/device_auth/account_spec.rb
|
272
249
|
- spec/associations/device_auth/authentications_spec.rb
|
273
|
-
- spec/associations/device_auth/
|
274
|
-
- spec/associations/device_auth/
|
250
|
+
- spec/associations/device_auth/channel_spec.rb
|
251
|
+
- spec/associations/device_auth/content_owner_spec.rb
|
275
252
|
- spec/associations/device_auth/earnings_spec.rb
|
276
|
-
- spec/associations/device_auth/
|
277
|
-
- spec/associations/device_auth/
|
278
|
-
- spec/associations/device_auth/
|
279
|
-
- spec/associations/device_auth/playlists_spec.rb
|
280
|
-
- spec/associations/device_auth/ratings_spec.rb
|
281
|
-
- spec/associations/device_auth/snippets_spec.rb
|
282
|
-
- spec/associations/device_auth/subscriptions_spec.rb
|
283
|
-
- spec/associations/device_auth/user_infos_spec.rb
|
284
|
-
- spec/associations/device_auth/videos_spec.rb
|
253
|
+
- spec/associations/device_auth/playlist_spec.rb
|
254
|
+
- spec/associations/device_auth/resource_spec.rb
|
255
|
+
- spec/associations/device_auth/video_spec.rb
|
285
256
|
- spec/associations/device_auth/views_spec.rb
|
286
|
-
- spec/associations/no_auth/
|
287
|
-
- spec/associations/server_auth/
|
288
|
-
- spec/associations/server_auth/
|
289
|
-
- spec/associations/server_auth/
|
290
|
-
- spec/associations/server_auth/
|
291
|
-
- spec/associations/server_auth/playlists_spec.rb
|
292
|
-
- spec/associations/server_auth/ratings_spec.rb
|
293
|
-
- spec/associations/server_auth/snippets_spec.rb
|
294
|
-
- spec/associations/server_auth/subscriptions_spec.rb
|
295
|
-
- spec/associations/server_auth/user_infos_spec.rb
|
296
|
-
- spec/associations/server_auth/videos_spec.rb
|
257
|
+
- spec/associations/no_auth/video_spec.rb
|
258
|
+
- spec/associations/server_auth/channel_spec.rb
|
259
|
+
- spec/associations/server_auth/playlist_spec.rb
|
260
|
+
- spec/associations/server_auth/resource_spec.rb
|
261
|
+
- spec/associations/server_auth/video_spec.rb
|
297
262
|
- spec/collections/annotations_spec.rb
|
298
263
|
- spec/collections/channels_spec.rb
|
299
264
|
- spec/collections/details_sets_spec.rb
|