downthetube 0.0.1 → 0.0.2
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.
- data/README +9 -0
- data/downthetube.gemspec +2 -2
- data/lib/youtube.rb +10 -2
- metadata +4 -4
data/README
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
Many libraries have been written to pull things off Youtube. This is one of them.
|
2
2
|
|
3
|
+
Installation
|
4
|
+
|
5
|
+
The usual: gem install downthetube
|
6
|
+
|
7
|
+
then put it in your Gemfile if you are doing Rails stuff with it:
|
8
|
+
|
9
|
+
gem 'downthetube'
|
10
|
+
|
11
|
+
Usage:
|
3
12
|
|
4
13
|
|
5
14
|
irb(main):006:0> playlist = Youtube.playlists_for("stephensam").first
|
data/downthetube.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
specification = Gem::Specification.new do |spec|
|
2
2
|
# Descriptive and source information for this gem.
|
3
3
|
spec.name = "downthetube"
|
4
|
-
spec.version = "0.0.
|
4
|
+
spec.version = "0.0.2"
|
5
5
|
spec.description = "A library to make downloading playlists and videos from Youtube less nasty."
|
6
6
|
spec.summary = "Downloads playlists and videos from Youtube."
|
7
7
|
spec.author = "Mike Williamson"
|
@@ -13,6 +13,6 @@ specification = Gem::Specification.new do |spec|
|
|
13
13
|
spec.add_dependency("gdata", ">= 1.0.0")
|
14
14
|
spec.extra_rdoc_files = ["README"]
|
15
15
|
spec.require_path = ["lib"]
|
16
|
-
spec.test_files = ["spec"]
|
16
|
+
#spec.test_files = ["spec"]
|
17
17
|
end
|
18
18
|
|
data/lib/youtube.rb
CHANGED
@@ -17,14 +17,16 @@ class Youtube
|
|
17
17
|
attr_reader :title, :author, :url, :id
|
18
18
|
|
19
19
|
def initialize entry
|
20
|
-
if entry.class == REXML::Element
|
20
|
+
if ((entry) && (entry.class == REXML::Element))
|
21
21
|
@xml = entry
|
22
22
|
@id = @xml.get_text('yt:playlistId')
|
23
23
|
@title = @xml.get_text('title')
|
24
24
|
@author = @xml.get_text('author/name')
|
25
25
|
@xml.each_element_with_attribute('src'){|a| @url = a.attribute('src').to_s }
|
26
|
+
elsif((entry.class==String)&&(entry =~ /\w{16}/))
|
27
|
+
@url = "http://gdata.youtube.com/feeds/api/playlists/#{entry}"
|
26
28
|
else
|
27
|
-
raise "
|
29
|
+
raise "The Playlist class did not understand the parameter it was initialized with."
|
28
30
|
end
|
29
31
|
end
|
30
32
|
|
@@ -97,6 +99,12 @@ class Youtube
|
|
97
99
|
end
|
98
100
|
end
|
99
101
|
|
102
|
+
extend ActiveModel::Naming
|
103
|
+
|
104
|
+
def name
|
105
|
+
"Video"
|
106
|
+
end
|
107
|
+
|
100
108
|
|
101
109
|
def thumbnail size=:small
|
102
110
|
if size == :large
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: downthetube
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Mike Williamson
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-06-03 00:00:00 -04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|