simple_youtube 3.0.0 → 3.0.1

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/.bundle/config ADDED
@@ -0,0 +1 @@
1
+ --- {}
data/.gitignore ADDED
@@ -0,0 +1,5 @@
1
+ Gemfile.lock
2
+ *.gem
3
+ .bundle
4
+ pkg
5
+
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "http://rubygems.org"
2
+
3
+ gemspec
data/README.markdown ADDED
@@ -0,0 +1,179 @@
1
+ simple_youtube works with the YouTube v2 API to...
2
+
3
+ 1) Read(:get) YouTube data with no API Key
4
+
5
+ 2) Update(:put) YouTube video data using your Gdata API Key and OAuth. Pass in your OAuth token/secret. Watch Ryan B's great [Simple OmniAuth screencast](http://railscasts.com/episodes/241-simple-omniauth) for OAuth set up in Rails. Beforehand you'll also need to [authenticate and authorize your host to use the Google APIs](http://code.google.com/apis/accounts/docs/RegistrationForWebAppsAuto.html) to get a developer(x_gdata_key) key and host(host_secret) key
6
+
7
+ 3) Currently no Create or Delete functionality.
8
+
9
+ I have tried to cover most of the examples from the [YouTube API reference](http://code.google.com/apis/youtube/2.0/reference.html)
10
+
11
+ `gem install simple_youtube`
12
+
13
+ ## Video
14
+
15
+ ### :get a single video uid
16
+
17
+ [http://gdata.youtube.com/feeds/api/videos/wOzOc0xxJu8?v=2](http://gdata.youtube.com/feeds/api/videos/wOzOc0xxJu8?v=2)
18
+
19
+ video_uid = Youtube::Video.find(:scope => 'wOzOc0xxJu8', :params => {:v => '2'})
20
+ video_uid.entry.size # => 1
21
+ video_uid.entry[0].title # => "Michael Watford - So Into You (Dub Mix)"
22
+
23
+ ### :get top 5 'ruby on rails' videos
24
+
25
+ [http://gdata.youtube.com/feeds/api/videos?q=ruby+on+rails&max-results=5&v=2](http://gdata.youtube.com/feeds/api/videos?q=ruby+on+rails&max-results=5&v=2)
26
+
27
+ video_search = Youtube::Video.find(:params => {:q => 'ruby on rails', :"max-results" => '5', :v => '2'})
28
+ video_search.entry.size # => 5
29
+ video_search.title # => "YouTube Videos matching query: ruby on rails"
30
+ video_search.entry[3].link[1].href # => http://gdata.youtube.com/feeds/api/videos/UCB57Npj9U0/responses?v=2
31
+
32
+
33
+ ### :get related videos
34
+
35
+ [http://gdata.youtube.com/feeds/api/videos/rFVHjZYoq4Q/related?v=2](http://gdata.youtube.com/feeds/api/videos/rFVHjZYoq4Q/related?v=2)
36
+
37
+ video_related = Youtube::Video.find(:scope => 'rFVHjZYoq4Q', :type => 'related', :params => {:v => '2'})
38
+ video_related.entry.size # => 25
39
+ video_related.entry[24].author.uri # => http://gdata.youtube.com/feeds/api/users/neodracco
40
+
41
+
42
+ ### :get video responses
43
+
44
+ [http://gdata.youtube.com/feeds/api/videos/rFVHjZYoq4Q/responses?v=2](http://gdata.youtube.com/feeds/api/videos/rFVHjZYoq4Q/responses?v=2)
45
+
46
+ video_responses = Youtube::Video.find(:scope => 'rFVHjZYoq4Q', :type => 'responses', :params => {:v => '2'})
47
+ video_responses.entry[1].group.category # => Music
48
+
49
+
50
+ ### :get video comments
51
+
52
+ [http://gdata.youtube.com/feeds/api/videos/rFVHjZYoq4Q/comments?v=2](http://gdata.youtube.com/feeds/api/videos/rFVHjZYoq4Q/comments?v=2)
53
+
54
+ video_comments = Youtube::Video.find(:scope => 'rFVHjZYoq4Q', :type => 'comments', :params => {:v => '2'})
55
+ video_comments.entry[0].content # => Come up to my first ever e on this about 14-15 years ago, ahh too long...
56
+
57
+
58
+ ### :get top 11 videos in Comedy category/tag
59
+
60
+ [http://gdata.youtube.com/feeds/api/videos?category=Comedy&max-results=11&v=2](http://gdata.youtube.com/feeds/api/videos?category=Comedy&max-results=11&v=2)
61
+
62
+ video_category = Youtube::Video.find(:params => {:category => 'Comedy', :"max-results" => '11', :v => '2'})
63
+ video_category.entry.size # => 11
64
+ video_category.entry[9].category[2].term # => Harry Potter
65
+ video_category.entry[0].category[1].term # => Comedy
66
+
67
+
68
+ ### :get top 5 videos in Comedy category/tag, excluding Film category/tag
69
+
70
+ [http://gdata.youtube.com/feeds/api/videos?category=Comedy%2C-Film&max-results=5&v=2](http://gdata.youtube.com/feeds/api/videos?category=Comedy%2C-Film&max-results=5&v=2)
71
+
72
+ video_category_comedy_exclude_film = Youtube::Video.find(:params => {:category => 'Comedy,-Film', :"max-results" => '5', :v => '2'})
73
+ video_category_comedy_exclude_film.entry[1].category.size # => 18
74
+ video_category_comedy_exclude_film.entry[1].category.each { |category| puts 'film' if category.term.eql?('Film') } #=> nil
75
+
76
+
77
+ ### :get videos in david, beckham,(News or Sports) category/tags
78
+
79
+ [http://gdata.youtube.com/feeds/api/videos?category=david%2Cbeckham%2CNews%7CSports&v=2](http://gdata.youtube.com/feeds/api/videos?category=david%2Cbeckham%2CNews%7CSports&v=2)
80
+
81
+ video_category_david_beckham_news_or_sports = Youtube::Video.find(:params => {:category => 'david,beckham,News|Sports', :v => '2'})
82
+ video_category_david_beckham_news_or_sports.entry[7].category[1].label # => Sports
83
+ video_category_david_beckham_news_or_sports.entry[7].category[2].term # => david
84
+
85
+ ### :put an updated video
86
+
87
+ video_uid = "video_uid"
88
+ user_name = "user_name"
89
+ update_xml = IO.read('fixture/video_update.xml')
90
+ oauth_token = "oauth_token"
91
+ oauth_token_secret = "oauth_token_secret"
92
+ x_gdata_key = "x_gdata_key"
93
+ host = "www.host.com"
94
+ host_secret = "host_secret"
95
+
96
+ response = Youtube::Video.update(video_uid, user_name, update_xml, oauth_token, oauth_token_secret, x_gdata_key, host, host_secret)
97
+ response.code # => 200
98
+
99
+ ## Standardfeed
100
+
101
+ ### :get top rated videos from today
102
+
103
+ [http://gdata.youtube.com/feeds/api/standardfeeds/top_rated?time=today&v=2](http://gdata.youtube.com/feeds/api/standardfeeds/top_rated?time=today&v=2)
104
+
105
+ standardfeed_topratedtoday = Youtube::Standardfeed.find(:type => 'top_rated', :params => {:time => 'today', :v => '2'})
106
+ standardfeed_topratedtoday.entry[16].author.name = "ZOMGitsCriss"
107
+
108
+ ### :get top rated videos from jp
109
+
110
+ [http://gdata.youtube.com/feeds/api/standardfeeds/JP/top_rated?v=2](http://gdata.youtube.com/feeds/api/standardfeeds/JP/top_rated?v=2)
111
+
112
+ standardfeed_toprated_jp = Youtube::Standardfeed.find(:scope => 'JP', :type => 'top_rated', :params => {:v => '2'})
113
+ standardfeed_toprated_jp.id = "tag:youtube.com,2008:standardfeed:jp:top_rated"
114
+ standardfeed_toprated_jp.entry[1].link[4].href = "http://gdata.youtube.com/feeds/api/standardfeeds/jp/top_rated/v/BQ9YtJC-Kd8?v=2"
115
+
116
+
117
+ ### :get top rated comedy videos from jp
118
+
119
+ [http://gdata.youtube.com/feeds/api/standardfeeds/JP/top_rated?category=Comedy&max-results=11&v=2]("http://gdata.youtube.com/feeds/api/standardfeeds/jp/top_rated/v/7hYGkqc1gqE?v=2")
120
+
121
+ standardfeed_toprated_jp_comedy = Youtube::Standardfeed.find(:scope => 'JP', :type => 'top_rated', :params => {:category => 'Comedy', :"max-results" => '11', :v => '2'})
122
+ standardfeed_toprated_jp_comedy.entry[1].link[4].href = "http://gdata.youtube.com/feeds/api/standardfeeds/jp/top_rated/v/7hYGkqc1gqE?v=2"
123
+
124
+
125
+ ## User
126
+
127
+ ### :get a single user
128
+
129
+ [http://gdata.youtube.com/feeds/api/users/neodracco](http://gdata.youtube.com/feeds/api/users/neodracco)
130
+
131
+ user_search = Youtube::User.find(:scope => 'neodracco')
132
+ user_search.entry.size => 1
133
+
134
+ ### :get ionysis favourite videos
135
+
136
+ [http://gdata.youtube.com/feeds/api/users/ionysis/favorites?v=2](http://gdata.youtube.com/feeds/api/users/ionysis/favorites?v=2)
137
+
138
+ user_ionysis_favourites = Youtube::User.find(:scope => 'ionysis', :type => 'favorites', :params => {:v => '2'})
139
+ user_ionysis_favourites.entry[7].statistics.favoriteCount) = "9586"
140
+ user_ionysis_favourites.entry[7].rating[1].numLikes) = "2568"
141
+
142
+ ### :get cyanure1982 playlists
143
+
144
+ [http://gdata.youtube.com/feeds/api/users/cyanure1982/playlists?v=2](http://gdata.youtube.com/feeds/api/users/cyanure1982/playlists?v=2)
145
+
146
+ user_cyanure1982_playlists = Youtube::User.find(:scope => 'cyanure1982', :type => 'playlists', :params => {:v => '2'})
147
+ user_cyanure1982_playlists.entry[2].title) = "shinnenkai"
148
+
149
+ ### :get ionysis subscriptions
150
+
151
+ [http://gdata.youtube.com/feeds/api/users/ionysis/subscriptions?v=2](http://gdata.youtube.com/feeds/api/users/ionysis/subscriptions?v=2)
152
+
153
+ user_ionysis_subscriptions = Youtube::User.find(:scope => 'ionysis', :type => 'subscriptions', :params => {:v => '2'})
154
+ user_ionysis_subscriptions.entry[0].title) = "Videos published by : vinyljunkie07"
155
+
156
+ ### :get vinyljunkie07 contacts
157
+
158
+ [http://gdata.youtube.com/feeds/api/users/vinyljunkie07/contacts?v=2](http://gdata.youtube.com/feeds/api/users/vinyljunkie07/contacts?v=2)
159
+
160
+ user_vinyljunkie07_contacts = Youtube::User.find(:scope => 'vinyljunkie07', :type => 'contacts', :params => {:v => '2'})
161
+ user_vinyljunkie07_contacts.entry[18].id) "tag:youtube.com,2008:user:vinyljunkie07:contact:CrackerSchool"
162
+
163
+
164
+ ## Playlist
165
+
166
+ ### :get the cyanure1982 playlist - shinnenkai(D00BDE6AA710D50C)
167
+
168
+ [http://gdata.youtube.com/feeds/api/playlists/D00BDE6AA710D50C?max-results=14&v=2](http://gdata.youtube.com/feeds/api/playlists/D00BDE6AA710D50C?max-results=14&v=2)
169
+
170
+ playlist_cyanure1982 = Youtube::Playlist.find(:scope => 'D00BDE6AA710D50C', :params => {:"max-results" => '14', :v => '2'})
171
+ playlist_cyanure1982.entry.size = 14
172
+ playlist_cyanure1982.entry[7].group.keywords = "nu, jazz, club, house, Jazztronik, dj, Yukihiro, Fukutomi, Mondo, Grosso, Daishi, Dance, FreeTEMPO, FPM, KJM, Kentaro, Takizawa"
173
+
174
+ simple_youtube is derived from the active_youtube gem from the [Quark ruby blog](http://www.quarkruby.com/2008/2/12/active-youtube)
175
+
176
+ Big Thanks to the Quark crew for the inspiration!!!
177
+
178
+
179
+
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require "bundler/gem_tasks"
2
+
@@ -1,2 +1,5 @@
1
- require File.dirname(__FILE__) + "/simple_youtube/activeyoutube"
2
- require File.dirname(__FILE__) + "/simple_youtube/youtube"
1
+ module SimpleYoutube
2
+ ROOT = File.dirname(__FILE__) + '/..'
3
+ end
4
+
5
+ Dir[SimpleYoutube::ROOT + '/lib/simple_youtube/**/*.rb'].each { |file| require file }
@@ -1,6 +1,7 @@
1
1
  require 'rubygems'
2
2
  require 'active_resource'
3
- require File.dirname(__FILE__) + "/entry_interface_shim"
3
+
4
+ require SimpleYoutube::ROOT + "/lib/simple_youtube/entry_interface_shim"
4
5
 
5
6
  class ActiveYoutube < ActiveResource::Base
6
7
 
@@ -14,6 +15,6 @@ class ActiveYoutube < ActiveResource::Base
14
15
  headers['Accept'] = "application/atom+xml"
15
16
  path = "#{prefix()}#{collection_name}#{'/' if scope}#{scope}#{'/' if type}#{type}#{query_string(query)}"
16
17
  instantiate_record(format.decode(connection.get(path, headers).body))
17
- end
18
+ end
18
19
 
19
20
  end
@@ -0,0 +1,4 @@
1
+ module SimpleYoutube
2
+ VERSION = '3.0.1'
3
+ end
4
+
@@ -0,0 +1,28 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "simple_youtube/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = 'simple_youtube'
7
+ s.version = SimpleYoutube::VERSION
8
+ s.authors = ['James Shipton']
9
+ s.email = ['ionysis@gmail.com']
10
+ s.homepage = 'https://github.com/jamesshipton/simple_youtube'
11
+ s.summary = 'ActiveResource extension to Gdata Youtube API.'
12
+ s.description = 'ActiveResource extension to Gdata Youtube API, anonymous Reads, Updates using your API key and OAuth, no Create or Delete access.'
13
+
14
+ s.rubyforge_project = 'simple_youtube'
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- spec/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ s.add_dependency 'activeresource', '~> 3.1'
22
+ s.add_dependency 'oauth', '~> 0.4'
23
+
24
+ s.add_development_dependency 'fakeweb', '~> 1.3'
25
+ s.add_development_dependency 'rspec', '~> 2.6'
26
+ s.add_development_dependency 'debugger'
27
+ s.add_development_dependency 'rake'
28
+ end
@@ -1,22 +1,22 @@
1
1
  require 'fakeweb'
2
2
 
3
- module FakewebHelper
4
- # Make sure nothing gets out (IMPORTANT)
3
+ module FakewebHelper
4
+ # Make sure nothing gets out (IMPORTANT)
5
5
  FakeWeb.allow_net_connect = false
6
6
 
7
- # Turns a fixture file name into a full path
8
- def fixture_file(filename)
9
- return '' if filename == ''
10
- File.expand_path('./fixture/' + filename)
11
- end
7
+ # Turns a fixture file name into a full path
8
+ def fixture_file(filename)
9
+ return '' if filename == ''
10
+ "#{SimpleYoutube::ROOT}/spec/fixture/#{filename}"
11
+ end
12
12
 
13
- # Convenience methods for stubbing URLs to fixtures
14
- def stub_get(url, filename)
15
- FakeWeb.register_uri(:get, url, :response => fixture_file(filename))
13
+ # Convenience methods for stubbing URLs to fixtures
14
+ def stub_get(url, filename)
15
+ FakeWeb.register_uri(:get, url, :response => fixture_file(filename))
16
16
  end
17
-
17
+
18
18
  def stub_http_error(http_type, url, error_code, error_message)
19
- FakeWeb.register_uri(http_type, url, :status => [error_code, error_message])
19
+ FakeWeb.register_uri(http_type, url, :status => [error_code, error_message])
20
20
  end
21
21
 
22
22
  end
data/spec/spec_helper.rb CHANGED
@@ -1,7 +1,8 @@
1
- require File.dirname(__FILE__) + "/../lib/" + "simple_youtube"
2
- require File.dirname(__FILE__) + "/fakeweb_helper"
1
+ require 'simple_youtube'
2
+
3
+ require 'fakeweb_helper'
3
4
 
4
5
  RSpec.configure do |c|
5
6
  c.treat_symbols_as_metadata_keys_with_true_values = true
6
- c.color_enabled = true
7
+ c.color_enabled = true
7
8
  end
@@ -1,31 +1,51 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe 'YoutubeUpdateSpec' do
4
-
5
- it "updates a video on youtube" do
6
-
7
- consumer = double("consumer")
8
- access_token = double("access_token")
9
- host = "www.host.com"
10
- host_secret = "host_secret"
11
- oauth_token = "oauth_token"
4
+ it 'updates a video on youtube' do
5
+ consumer = double('consumer')
6
+ access_token = double('access_token')
7
+ host = 'www.host.com'
8
+ host_secret = 'host_secret'
9
+ oauth_token = 'oauth_token'
12
10
  oauth_token_secret = "oauth_token_secret"
13
- x_gdata_key = "x_gdata_key"
14
- video_uid = "video_uid"
15
- user_name = "user_name"
16
- update_xml = IO.read('fixture/video_update.xml')
17
-
18
- OAuth::Consumer.should_receive(:new).with(host, host_secret, {:site=>"https://www.google.com", :request_token_path=>"/accounts/OAuthGetRequestToken", :authorize_path=>"/accounts/OAuthAuthorizeToken", :access_token_path=>"/accounts/OAuthGetAccessToken"}).and_return(consumer)
19
-
20
- OAuth::AccessToken.should_receive(:new).with(consumer, oauth_token, oauth_token_secret).and_return(access_token)
11
+ x_gdata_key = 'x_gdata_key'
12
+ video_uid = 'video_uid'
13
+ user_name = 'user_name'
14
+ update_xml = IO.read(SimpleYoutube::ROOT + '/spec/fixture/video_update.xml')
15
+
16
+ OAuth::Consumer.should_receive(:new).
17
+ with(
18
+ host,
19
+ host_secret,
20
+ { :site => 'https://www.google.com',
21
+ :request_token_path => '/accounts/OAuthGetRequestToken',
22
+ :authorize_path => '/accounts/OAuthAuthorizeToken',
23
+ :access_token_path => '/accounts/OAuthGetAccessToken' }).
24
+ and_return(consumer)
25
+
26
+ OAuth::AccessToken.should_receive(:new).
27
+ with(consumer, oauth_token, oauth_token_secret).
28
+ and_return(access_token)
29
+
30
+ access_token.should_receive(:put).
31
+ with(
32
+ "http://gdata.youtube.com/feeds/api/users/#{user_name}/uploads/#{video_uid}",
33
+ update_xml,
34
+ { 'Accept' => 'application/atom+xml',
35
+ 'Content-Type' => 'application/atom+xml',
36
+ 'X-GData-Key' => "key=#{x_gdata_key}" }).
37
+ and_return(Net::HTTPResponse.new(1.0, 200, 'OK'))
38
+
39
+ response = Youtube::Video.update(
40
+ video_uid,
41
+ user_name,
42
+ update_xml,
43
+ oauth_token,
44
+ oauth_token_secret,
45
+ x_gdata_key,
46
+ host,
47
+ host_secret)
21
48
 
22
- access_token.should_receive(:put).with("http://gdata.youtube.com/feeds/api/users/#{user_name}/uploads/#{video_uid}", update_xml, {'Accept' => 'application/atom+xml', 'Content-Type' => 'application/atom+xml', 'X-GData-Key' => x_gdata_key}).and_return(Net::HTTPResponse.new(1.0, 200, "OK")
23
- )
24
-
25
- response = Youtube::Video.update(video_uid, user_name, update_xml, oauth_token, oauth_token_secret, x_gdata_key, host, host_secret)
26
-
27
49
  response.code.should == 200
28
-
29
50
  end
30
-
31
51
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_youtube
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-05 00:00:00.000000000Z
12
+ date: 2013-03-13 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activeresource
16
- requirement: &70335748278960 !ruby/object:Gem::Requirement
16
+ requirement: &70351174725400 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '3.1'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70335748278960
24
+ version_requirements: *70351174725400
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: oauth
27
- requirement: &70335748278220 !ruby/object:Gem::Requirement
27
+ requirement: &70351174724540 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0.4'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70335748278220
35
+ version_requirements: *70351174724540
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: fakeweb
38
- requirement: &70335748277400 !ruby/object:Gem::Requirement
38
+ requirement: &70351174723540 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '1.3'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70335748277400
46
+ version_requirements: *70351174723540
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &70335748276640 !ruby/object:Gem::Requirement
49
+ requirement: &70351174722920 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,7 +54,29 @@ dependencies:
54
54
  version: '2.6'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70335748276640
57
+ version_requirements: *70351174722920
58
+ - !ruby/object:Gem::Dependency
59
+ name: debugger
60
+ requirement: &70351174722260 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70351174722260
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: &70351174721180 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *70351174721180
58
80
  description: ActiveResource extension to Gdata Youtube API, anonymous Reads, Updates
59
81
  using your API key and OAuth, no Create or Delete access.
60
82
  email:
@@ -63,10 +85,17 @@ executables: []
63
85
  extensions: []
64
86
  extra_rdoc_files: []
65
87
  files:
88
+ - .bundle/config
89
+ - .gitignore
90
+ - Gemfile
91
+ - README.markdown
92
+ - Rakefile
93
+ - lib/simple_youtube.rb
66
94
  - lib/simple_youtube/activeyoutube.rb
67
95
  - lib/simple_youtube/entry_interface_shim.rb
96
+ - lib/simple_youtube/version.rb
68
97
  - lib/simple_youtube/youtube.rb
69
- - lib/simple_youtube.rb
98
+ - simple_youtube.gemspec
70
99
  - spec/fakeweb_helper.rb
71
100
  - spec/fixture/playlist_cyanure1982.xml
72
101
  - spec/fixture/standardfeed_toprated_jp.xml
@@ -102,14 +131,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
102
131
  - - ! '>='
103
132
  - !ruby/object:Gem::Version
104
133
  version: '0'
134
+ segments:
135
+ - 0
136
+ hash: 4037484550341055447
105
137
  required_rubygems_version: !ruby/object:Gem::Requirement
106
138
  none: false
107
139
  requirements:
108
140
  - - ! '>='
109
141
  - !ruby/object:Gem::Version
110
142
  version: '0'
143
+ segments:
144
+ - 0
145
+ hash: 4037484550341055447
111
146
  requirements: []
112
- rubyforge_project:
147
+ rubyforge_project: simple_youtube
113
148
  rubygems_version: 1.8.15
114
149
  signing_key:
115
150
  specification_version: 3