simple_youtube 2.0.3 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,16 +3,17 @@ require 'active_resource'
3
3
  require File.dirname(__FILE__) + "/entry_interface_shim"
4
4
 
5
5
  class ActiveYoutube < ActiveResource::Base
6
-
6
+
7
7
  include EntryInterfaceShim
8
8
 
9
9
  self.site = "http://gdata.youtube.com/feeds/api"
10
+ self.format = :xml
10
11
 
11
12
  def self.find(args)
12
13
  scope, type, query = args[:scope], args[:type], args[:params]
13
14
  headers['Accept'] = "application/atom+xml"
14
15
  path = "#{prefix()}#{collection_name}#{'/' if scope}#{scope}#{'/' if type}#{type}#{query_string(query)}"
15
- instantiate_record(connection.get(path, headers))
16
+ instantiate_record(format.decode(connection.get(path, headers).body))
16
17
  end
17
-
18
+
18
19
  end
@@ -2,7 +2,7 @@ require 'fakeweb'
2
2
 
3
3
  module FakewebHelper
4
4
  # Make sure nothing gets out (IMPORTANT)
5
- FakeWeb.allow_net_connect = false
5
+ FakeWeb.allow_net_connect = false
6
6
 
7
7
  # Turns a fixture file name into a full path
8
8
  def fixture_file(filename)
@@ -13,6 +13,10 @@ module FakewebHelper
13
13
  # Convenience methods for stubbing URLs to fixtures
14
14
  def stub_get(url, filename)
15
15
  FakeWeb.register_uri(:get, url, :response => fixture_file(filename))
16
- end
16
+ end
17
+
18
+ def stub_http_error(http_type, url, error_code, error_message)
19
+ FakeWeb.register_uri(http_type, url, :status => [error_code, error_message])
20
+ end
17
21
 
18
22
  end
@@ -0,0 +1,7 @@
1
+ require File.dirname(__FILE__) + "/../lib/" + "simple_youtube"
2
+ require File.dirname(__FILE__) + "/fakeweb_helper"
3
+
4
+ RSpec.configure do |c|
5
+ c.treat_symbols_as_metadata_keys_with_true_values = true
6
+ c.color_enabled = true
7
+ end
@@ -1,16 +1,20 @@
1
- require File.dirname(__FILE__) + "/../lib/" + "simple_youtube"
2
- require File.dirname(__FILE__) + "/fakeweb_helper"
1
+ require 'spec_helper'
3
2
 
4
3
  describe 'YoutubeFindSpec' do
5
4
 
6
5
  include FakewebHelper
7
6
 
8
- it "finds video search for uid" do
7
+ it "finds video search for uid", :wip do
9
8
  stub_get('http://gdata.youtube.com/feeds/api/videos/wOzOc0xxJu8?v=2', 'video_uid.xml')
10
9
  video_uid = Youtube::Video.find(:scope => 'wOzOc0xxJu8', :params => {:v => '2'})
11
10
  video_uid.entry.size.should == 1
12
11
  video_uid.entry[0].title.should == "Michael Watford - So Into You (Dub Mix)"
13
12
  end
13
+
14
+ it "fails to connect to Youtube", :fail do
15
+ stub_http_error(:get, 'http://gdata.youtube.com/feeds/api/videos/wOzOc0xxJu8?v=2', '500', 'Server Error')
16
+ lambda {Youtube::Video.find(:scope => 'wOzOc0xxJu8', :params => {:v => '2'})}.should raise_error(ActiveResource::ServerError, "Failed. Response code = 500. Response message = Server Error.")
17
+ end
14
18
 
15
19
  it "finds video search for top 5 ruby on rails videos" do
16
20
  stub_get('http://gdata.youtube.com/feeds/api/videos?q=ruby+on+rails&max-results=5&v=2', 'video_search.xml')
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + "/../lib/" + "simple_youtube"
1
+ require 'spec_helper'
2
2
 
3
3
  describe 'YoutubeUpdateSpec' do
4
4
 
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: simple_youtube
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 2.0.3
5
+ version: 2.1.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - James Shipton
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-08-20 00:00:00 +01:00
13
+ date: 2011-09-30 00:00:00 +01:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -21,7 +21,7 @@ dependencies:
21
21
  requirements:
22
22
  - - ~>
23
23
  - !ruby/object:Gem::Version
24
- version: 3.0.5
24
+ version: 3.1.0
25
25
  type: :runtime
26
26
  version_requirements: *id001
27
27
  - !ruby/object:Gem::Dependency
@@ -32,7 +32,7 @@ dependencies:
32
32
  requirements:
33
33
  - - ~>
34
34
  - !ruby/object:Gem::Version
35
- version: 0.4.4
35
+ version: 0.4.5
36
36
  type: :runtime
37
37
  version_requirements: *id002
38
38
  - !ruby/object:Gem::Dependency
@@ -43,7 +43,7 @@ dependencies:
43
43
  requirements:
44
44
  - - ~>
45
45
  - !ruby/object:Gem::Version
46
- version: 1.2.8
46
+ version: 1.3.0
47
47
  type: :development
48
48
  version_requirements: *id003
49
49
  - !ruby/object:Gem::Dependency
@@ -54,7 +54,7 @@ dependencies:
54
54
  requirements:
55
55
  - - ~>
56
56
  - !ruby/object:Gem::Version
57
- version: "2.5"
57
+ version: "2.6"
58
58
  type: :development
59
59
  version_requirements: *id004
60
60
  description: ActiveResource extension to Gdata Youtube API, anonymous Reads, Updates using your API key and OAuth, no Create or Delete access.
@@ -91,6 +91,7 @@ files:
91
91
  - spec/fixture/video_search.xml
92
92
  - spec/fixture/video_uid.xml
93
93
  - spec/fixture/video_update.xml
94
+ - spec/spec_helper.rb
94
95
  - spec/youtube_read_spec.rb
95
96
  - spec/youtube_update_spec.rb
96
97
  has_rdoc: true
@@ -142,5 +143,6 @@ test_files:
142
143
  - spec/fixture/video_search.xml
143
144
  - spec/fixture/video_uid.xml
144
145
  - spec/fixture/video_update.xml
146
+ - spec/spec_helper.rb
145
147
  - spec/youtube_read_spec.rb
146
148
  - spec/youtube_update_spec.rb