videodrome 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: c1a33a64d1dd48e964b41273e3bcd377c89412a92b06752c66708bdcf5e99d93
4
+ data.tar.gz: 0afc1941cbf75c0b51bc1176f4f80417ad0d652447f9824038eb57663653165f
5
+ SHA512:
6
+ metadata.gz: cedd305e52973eeaa5be7af63985ce893f079fffcb6a1abf9f5df62b0906d967a257383f2bb8d9d223cbe5094048e61afef478b03fc1e2983f37d529598e6ded
7
+ data.tar.gz: 62721f0f97f316fe0e13a4b72b9ce3cb193a26d475738906a85c0a0c317a893ce8adbdf4683c3a68ce8537c715ba523908b148250305386a6531b13f4e543762
data/README.md CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  Access metadata of **public videos** on Youtube using YouTube Data API v3. Please see the documentation for this API at https://developers.google.com/youtube/v3/.
4
4
 
5
- Videodrome is designed to be minimal on its features and dependencies and to work with all Ruby versions (>= 1.8.6). Videodrome can only access public information since it **does not provides** any authentication method to access to [private user data](https://developers.google.com/youtube/v3/guides/authentication).
5
+ Videodrome is designed to be minimal in its features and dependencies and to work with any Ruby versions > 2. Videodrome can only access public information since it **does not provides** any authentication method to access [private user data](https://developers.google.com/youtube/v3/guides/authentication).
6
6
 
7
- If you want a fully featured YouTube API client please check the excelent [yt](https://github.com/Fullscreen/yt) gem.
7
+ If you want a fully-featured YouTube API client, please check the excellent [yt](https://github.com/Fullscreen/yt) gem.
8
8
 
9
9
  ## Installation
10
10
 
@@ -22,11 +22,11 @@ Or install it yourself as:
22
22
 
23
23
  ## Setup
24
24
 
25
- Although Videodrome does not require any user authentication, the new Youtube API requires to sign all calls with an API key, even if you are accessing only public data. Please follow the steps at [Obtaining authorization credentials](https://developers.google.com/youtube/registering_an_application) to generate a server key.
25
+ Although Videodrome does not require any user authentication, the new Youtube API requires to sign all calls with an API key, even if you are accessing only public data. To generate a server key, please follow the steps at [Obtaining authorization credentials](https://developers.google.com/youtube/registering_an_application).
26
26
 
27
- Once you have the API key, the easiest to provide it to Videodrome is to set it up in your environment:
27
+ Once you have the API key, the easiest way to provide it to Videodrome is to set it up in your environment:
28
28
 
29
- ``` sh
29
+ ```sh
30
30
  VIDEODROME_YOUTUBE_API_KEY="AIzaS…wGhuD"
31
31
  ```
32
32
 
@@ -34,7 +34,7 @@ VIDEODROME_YOUTUBE_API_KEY="AIzaS…wGhuD"
34
34
 
35
35
  Once the API Key is available to Videodrome, retrieve the metadata of a video using its URL:
36
36
 
37
- ``` ruby
37
+ ```ruby
38
38
  video = Videodrome::Video.new("https://youtube.com/watch?v=NZ8RiLLt6yg")
39
39
  video.title # "The Mercedes-Benz CLA (a car commercial)"
40
40
  video.published_at # Thu Sep 05 21:01:57 UTC 2013
@@ -44,23 +44,22 @@ video.embed_html # <iframe type='text/html' src='http://www.youtube.com/embed/NZ
44
44
 
45
45
  URL short versions are also supported:
46
46
 
47
- ``` ruby
47
+ ```ruby
48
48
  Videodrome::Video.new("https://youtu.be/NZ8RiLLt6yg")
49
49
  ```
50
50
 
51
51
  Customize the API call by proving an option hash to the initialization. For details on the parameters you can use please check [the Videos:list documentation](https://developers.google.com/youtube/v3/docs/videos/list#part).
52
52
 
53
- ``` ruby
53
+ ```ruby
54
54
  Videodrome::Video.new("https://youtu.be/NZ8RiLLt6yg", :part => "snippet,player,contentDetails,status,fileDetails")
55
55
  ```
56
56
 
57
57
  This customization can be used too to explictly provide the API key to sign the calls:
58
58
 
59
- ``` ruby
59
+ ```ruby
60
60
  Videodrome::Video.new("https://youtu.be/NZ8RiLLt6yg", :key => "AIzaS…wGhuD")
61
61
  ```
62
62
 
63
-
64
63
  ## To-do
65
64
 
66
65
  Provide mocks to prevent real requests to the Youtube API when running the specs.
@@ -1,3 +1,3 @@
1
1
  module Videodrome
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/spec/video_spec.rb CHANGED
@@ -17,7 +17,7 @@ describe Videodrome::Video do
17
17
  "standard" => { "url" => "https://i.ytimg.com/vi/NZ8RiLLt6yg/sddefault.jpg", "width" => 640, "height" => 480 }
18
18
  },
19
19
  :embeddable => true,
20
- :embed_html => "<iframe type='text/html' src='http://www.youtube.com/embed/NZ8RiLLt6yg' width='640' height='360' frameborder='0' allowfullscreen='true'/>"
20
+ :embed_html => '<iframe width="480" height="270" src="//www.youtube.com/embed/NZ8RiLLt6yg" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'
21
21
  }
22
22
  end
23
23
  describe "#published_at" do
@@ -42,7 +42,7 @@ describe Videodrome::Video do
42
42
  end
43
43
  end
44
44
  context "given a video with no standard thumbnail" do
45
- let(:url) { "https://youtube.com/watch?v=eyNIHWawwXk" }
45
+ let(:url) { "https://www.youtube.com/watch?v=xQUCxHj17tA" }
46
46
  describe "#thumbnails" do
47
47
  it("returns no standard thumbnail") { expect(video.thumbnail).to be nil }
48
48
  it("returns others thumbnails") { expect(video.thumbnails.size).to be > 0 }
data/videodrome.gemspec CHANGED
@@ -17,10 +17,11 @@ Gem::Specification.new do |spec|
17
17
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
18
  spec.require_paths = ["lib"]
19
19
 
20
+ spec.required_ruby_version = '>= 2.7'
21
+
20
22
  spec.add_dependency "faraday"
21
- spec.add_dependency "json"
22
23
 
23
- spec.add_development_dependency "bundler", "~> 1.5"
24
+ spec.add_development_dependency "bundler", "~> 2"
24
25
  spec.add_development_dependency "rake"
25
26
  spec.add_development_dependency "rspec"
26
27
  end
metadata CHANGED
@@ -1,105 +1,80 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: videodrome
3
- version: !ruby/object:Gem::Version
4
- hash: 27
5
- prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 2
10
- version: 0.0.2
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
11
5
  platform: ruby
12
- authors:
13
- - "Aitor Garc\xC3\xADa"
6
+ authors:
7
+ - Aitor García
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2015-05-15 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- prerelease: false
22
- type: :runtime
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 0
31
- version: "0"
32
- version_requirements: *id001
11
+ date: 2022-05-04 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
33
14
  name: faraday
34
- - !ruby/object:Gem::Dependency
35
- prerelease: false
36
- type: :runtime
37
- requirement: &id002 !ruby/object:Gem::Requirement
38
- none: false
39
- requirements:
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
40
17
  - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
46
- version_requirements: *id002
47
- name: json
48
- - !ruby/object:Gem::Dependency
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
49
21
  prerelease: false
50
- type: :development
51
- requirement: &id003 !ruby/object:Gem::Requirement
52
- none: false
53
- requirements:
54
- - - ~>
55
- - !ruby/object:Gem::Version
56
- hash: 5
57
- segments:
58
- - 1
59
- - 5
60
- version: "1.5"
61
- version_requirements: *id003
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
62
28
  name: bundler
63
- - !ruby/object:Gem::Dependency
64
- prerelease: false
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2'
65
34
  type: :development
66
- requirement: &id004 !ruby/object:Gem::Requirement
67
- none: false
68
- requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- hash: 3
72
- segments:
73
- - 0
74
- version: "0"
75
- version_requirements: *id004
76
- name: rake
77
- - !ruby/object:Gem::Dependency
78
35
  prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
79
48
  type: :development
80
- requirement: &id005 !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
83
52
  - - ">="
84
- - !ruby/object:Gem::Version
85
- hash: 3
86
- segments:
87
- - 0
88
- version: "0"
89
- version_requirements: *id005
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
90
56
  name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
91
69
  description:
92
- email:
70
+ email:
93
71
  - aitor@linkingpaths.com
94
72
  executables: []
95
-
96
73
  extensions: []
97
-
98
74
  extra_rdoc_files: []
99
-
100
- files:
101
- - .gitignore
102
- - .rspec
75
+ files:
76
+ - ".gitignore"
77
+ - ".rspec"
103
78
  - Gemfile
104
79
  - LICENSE
105
80
  - README.md
@@ -117,39 +92,29 @@ files:
117
92
  - tasks/rspec.rake
118
93
  - videodrome.gemspec
119
94
  homepage: http://github.com/linkingpaths/videodrome
120
- licenses:
95
+ licenses:
121
96
  - MIT
97
+ metadata: {}
122
98
  post_install_message:
123
99
  rdoc_options: []
124
-
125
- require_paths:
100
+ require_paths:
126
101
  - lib
127
- required_ruby_version: !ruby/object:Gem::Requirement
128
- none: false
129
- requirements:
102
+ required_ruby_version: !ruby/object:Gem::Requirement
103
+ requirements:
130
104
  - - ">="
131
- - !ruby/object:Gem::Version
132
- hash: 3
133
- segments:
134
- - 0
135
- version: "0"
136
- required_rubygems_version: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
105
+ - !ruby/object:Gem::Version
106
+ version: '2.7'
107
+ required_rubygems_version: !ruby/object:Gem::Requirement
108
+ requirements:
139
109
  - - ">="
140
- - !ruby/object:Gem::Version
141
- hash: 3
142
- segments:
143
- - 0
144
- version: "0"
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
145
112
  requirements: []
146
-
147
- rubyforge_project:
148
- rubygems_version: 1.8.24
113
+ rubygems_version: 3.1.6
149
114
  signing_key:
150
- specification_version: 3
115
+ specification_version: 4
151
116
  summary: Access metadata of public videos on Youtube.
152
- test_files:
117
+ test_files:
153
118
  - spec/spec_helper.rb
154
119
  - spec/url_spec.rb
155
120
  - spec/video_spec.rb