muri 1.0.0 → 1.1.0
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.textile +7 -3
- data/VERSION.yml +1 -1
- data/lib/muri/base.rb +4 -2
- data/lib/muri/filters/picasa.rb +42 -0
- data/muri.gemspec +5 -2
- data/test/facebook_test.rb +18 -2
- data/test/flickr_test.rb +23 -2
- data/test/imageshack_test.rb +10 -1
- data/test/photobucket_test.rb +25 -1
- data/test/picasa_test.rb +71 -0
- data/test/twitpic_test.rb +18 -1
- data/test/vimeo_test.rb +25 -1
- data/test/youtube_test.rb +22 -2
- metadata +6 -3
data/README.textile
CHANGED
@@ -16,6 +16,8 @@ MURI Currently supports:
|
|
16
16
|
** "API documentation":http://twitpic.com/api.do
|
17
17
|
* Facebook (photos and albums)
|
18
18
|
** "API documentation":http://wiki.developers.facebook.com/index.php/API
|
19
|
+
* Picasa (photos)
|
20
|
+
** "API documentation":http://code.google.com/apis/picasaweb/docs/2.0/developers_guide.html
|
19
21
|
|
20
22
|
h3. Installation & basic usage
|
21
23
|
|
@@ -43,7 +45,6 @@ Assuming the URI was successfully parsed (thus @a.valid? == true@), all media ty
|
|
43
45
|
<code>
|
44
46
|
a.media_service # 'Youtube'
|
45
47
|
a.media_id # 'blahblahblah'
|
46
|
-
a.media_original_url # 'http://www.youtube.com/watch?v=blahblahblah&feature=rec-LGOUT-exp_fresh+div-1r-1-HM'
|
47
48
|
a.media_uri # URI object for 'http://www.youtube.com/watch?v=blahblahblah&feature=rec-LGOUT-exp_fresh+div-1r-1-HM'
|
48
49
|
</code>
|
49
50
|
</pre>
|
@@ -58,9 +59,12 @@ Assuming the URI was successfully parsed (thus @a.valid? == true@), all media ty
|
|
58
59
|
</code>
|
59
60
|
</pre>
|
60
61
|
|
62
|
+
* Services with a @media_api_id@ also have a @media_api_type@, which indicates what sort of API call should be made (be it 'photo', 'video', 'media', 'set', 'album', or 'playlist', depending on URI type)
|
63
|
+
|
64
|
+
|
61
65
|
*NOTE: Facebook photos return a @media_api_id@ which can be used to search for photo information in a Facebook photos.get API call as the pid. This pid is NOT the same as the pid found in the query string (the @media_id@)*
|
62
66
|
|
63
|
-
*
|
67
|
+
*ALSO NOTE: Picasa @media_api_id@ is a partial string for using the photo API call, so for example @'bananastalktome/album/TestForAPI/photoid/5450524726782297346'@, thus the API call would be @"http://picasaweb.google.com/data/feed/api/user/#{media_api_id}"@*
|
64
68
|
|
65
69
|
|
66
70
|
* A direct media url for Youtube, Photobucket (photos, not albums), Twitpic, Imageshack (@http://img#{num}.imageshack.us/img#{num}/#{NUMBER}/#{IMAGENAME}@ format) and flickr (@http://farm#{num}.static.flickr.com/@ format)
|
@@ -72,7 +76,7 @@ d
|
|
72
76
|
</code>
|
73
77
|
</pre>
|
74
78
|
|
75
|
-
* A media landing website url for Facebook, Youtube, Photobucket, Imageshack, Vimeo, Twitpic, and Flickr (flickr returns the @http://flic.kr/p/#{ID}@ short url)
|
79
|
+
* A media landing website url for Facebook, Picasa, Youtube, Photobucket, Imageshack, Vimeo, Twitpic, and Flickr (flickr returns the @http://flic.kr/p/#{ID}@ short url)
|
76
80
|
|
77
81
|
<pre>
|
78
82
|
<code>
|
data/VERSION.yml
CHANGED
data/lib/muri/base.rb
CHANGED
@@ -12,12 +12,14 @@ class Muri
|
|
12
12
|
PARSERS = { }
|
13
13
|
|
14
14
|
# Defines is_#{service}? and is_#{service type constant}? methods, and sets service name constnat
|
15
|
-
['Youtube', 'Flickr', 'Vimeo', 'Imageshack', 'Photobucket', 'Facebook', 'Twitpic'].each do |filter|
|
15
|
+
['Youtube', 'Flickr', 'Vimeo', 'Imageshack', 'Photobucket', 'Facebook', 'Twitpic', 'Picasa'].each do |filter|
|
16
16
|
eval "include Filter::#{filter}"
|
17
17
|
is_service = "is_#{filter.downcase}?"
|
18
18
|
define_method(is_service) { self.media_service == filter }
|
19
19
|
self.constants.reject { |c| c !~ /^#{filter.upcase}/ }.each do |exp|
|
20
|
-
define_method("is_#{exp.downcase}?")
|
20
|
+
define_method("is_#{exp.downcase}?") do
|
21
|
+
self.media_api_type == eval(exp) && self.instance_eval(is_service)
|
22
|
+
end
|
21
23
|
end
|
22
24
|
const_set "#{filter.upcase}_SERVICE_NAME", "#{filter}"
|
23
25
|
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
class Muri
|
2
|
+
module Filter
|
3
|
+
module Picasa
|
4
|
+
|
5
|
+
private
|
6
|
+
PICASA_PHOTO = 'photo'
|
7
|
+
|
8
|
+
def self.included(base)
|
9
|
+
base.class_eval do
|
10
|
+
self::PARSERS[Muri::Filter::Picasa] = "picasa_parse"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.parsable?(uri)
|
15
|
+
uri.host =~ /^(www\.)?picasaweb\.google\.com$/i
|
16
|
+
end
|
17
|
+
|
18
|
+
def picasa_parse
|
19
|
+
self.media_service = PICASA_SERVICE_NAME
|
20
|
+
url_common = "http://picasaweb.google.com"
|
21
|
+
reencoded_url = URI.parse(URI.encode self.uri.to_s)
|
22
|
+
|
23
|
+
if reencoded_url.path =~ /^\/(.[^\/]+)\/(.+)/i
|
24
|
+
username = $1
|
25
|
+
album_photoid = $2.split("%23")
|
26
|
+
photoid = album_photoid.last
|
27
|
+
album = album_photoid[0..-2].join("#")#in case other hash symbols exist
|
28
|
+
self.media_id = photoid
|
29
|
+
self.media_website = "#{url_common}/#{username}/#{album}##{photoid}"
|
30
|
+
self.media_api_type = PICASA_PHOTO
|
31
|
+
self.media_api_id = "#{username}/album/#{album}/photoid/#{photoid}"
|
32
|
+
else
|
33
|
+
raise UnsupportedURI
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
# http://picasaweb.google.com/bananastalktome/TestForAPI#5450524726782297346
|
41
|
+
# API Call: http://picasaweb.google.com/data/feed/api/user/bananastalktome/album/TestForAPI/photoid/5450524726782297346
|
42
|
+
# #=%23
|
data/muri.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{muri}
|
8
|
-
s.version = "1.
|
8
|
+
s.version = "1.1.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["William Schneider"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-04-01}
|
13
13
|
s.description = %q{Automatically get media information from the URL.}
|
14
14
|
s.email = %q{bananastalktome@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -27,6 +27,7 @@ Gem::Specification.new do |s|
|
|
27
27
|
"lib/muri/filters/flickr.rb",
|
28
28
|
"lib/muri/filters/imageshack.rb",
|
29
29
|
"lib/muri/filters/photobucket.rb",
|
30
|
+
"lib/muri/filters/picasa.rb",
|
30
31
|
"lib/muri/filters/twitpic.rb",
|
31
32
|
"lib/muri/filters/vimeo.rb",
|
32
33
|
"lib/muri/filters/youtube.rb",
|
@@ -36,6 +37,7 @@ Gem::Specification.new do |s|
|
|
36
37
|
"test/flickr_test.rb",
|
37
38
|
"test/imageshack_test.rb",
|
38
39
|
"test/photobucket_test.rb",
|
40
|
+
"test/picasa_test.rb",
|
39
41
|
"test/twitpic_test.rb",
|
40
42
|
"test/vimeo_test.rb",
|
41
43
|
"test/youtube_test.rb"
|
@@ -50,6 +52,7 @@ Gem::Specification.new do |s|
|
|
50
52
|
"test/twitpic_test.rb",
|
51
53
|
"test/photobucket_test.rb",
|
52
54
|
"test/vimeo_test.rb",
|
55
|
+
"test/picasa_test.rb",
|
53
56
|
"test/imageshack_test.rb",
|
54
57
|
"test/error_test.rb",
|
55
58
|
"test/flickr_test.rb",
|
data/test/facebook_test.rb
CHANGED
@@ -2,9 +2,17 @@ require 'lib/muri.rb'
|
|
2
2
|
|
3
3
|
shared_examples_for "Facebook parse" do
|
4
4
|
it "should be Facebook service" do
|
5
|
-
|
5
|
+
#@a.media_service.should == 'Facebook'
|
6
|
+
@a.is_facebook?.should == true
|
6
7
|
end
|
7
|
-
|
8
|
+
|
9
|
+
it "should be not be other services" do
|
10
|
+
#@a.media_service.should == 'Facebook'
|
11
|
+
@a.is_vimeo?.should == false
|
12
|
+
@a.is_flickr?.should == false
|
13
|
+
@a.is_youtube?.should == false
|
14
|
+
end
|
15
|
+
|
8
16
|
it "should be valid" do
|
9
17
|
@a.valid?.should == true
|
10
18
|
end
|
@@ -15,6 +23,14 @@ shared_examples_for "Facebook parse photo" do
|
|
15
23
|
it "should have media api type = FACEBOOK_PHOTO" do
|
16
24
|
@a.media_api_type.should == Muri::FACEBOOK_PHOTO
|
17
25
|
end
|
26
|
+
|
27
|
+
it "should be facebook photo" do
|
28
|
+
@a.is_facebook_photo?.should == true
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should not be flickr photo" do
|
32
|
+
@a.is_flickr_photo?.should == false
|
33
|
+
end
|
18
34
|
end
|
19
35
|
|
20
36
|
{'http://www.facebook.com/photo.php?pid=34929102&l=a1abf8cd37&id=15201063' =>
|
data/test/flickr_test.rb
CHANGED
@@ -1,8 +1,17 @@
|
|
1
1
|
require 'lib/muri.rb'
|
2
2
|
shared_examples_for "Flickr parse" do
|
3
3
|
it "should be Flickr service" do
|
4
|
-
@a.media_service.should == 'Flickr'
|
4
|
+
# @a.media_service.should == 'Flickr'
|
5
|
+
@a.is_flickr?.should == true
|
5
6
|
end
|
7
|
+
|
8
|
+
it "should be not be other services" do
|
9
|
+
@a.is_vimeo?.should == false
|
10
|
+
@a.is_youtube?.should == false
|
11
|
+
@a.is_facebook?.should == false
|
12
|
+
@a.is_photobucket?.should == false
|
13
|
+
end
|
14
|
+
|
6
15
|
it "should be valid" do
|
7
16
|
@a.valid?.should == true
|
8
17
|
end
|
@@ -12,13 +21,25 @@ shared_examples_for "Flickr parse photo" do
|
|
12
21
|
it_should_behave_like "Flickr parse"
|
13
22
|
it "should have media api type = FLICKR_PHOTO" do
|
14
23
|
@a.media_api_type.should == Muri::FLICKR_PHOTO
|
15
|
-
end
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should be flickr photo" do
|
27
|
+
@a.is_flickr_photo?.should == true
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should not be facebook photo" do
|
31
|
+
@a.is_facebook_photo?.should == false
|
32
|
+
end
|
16
33
|
end
|
17
34
|
|
18
35
|
shared_examples_for "Flickr parse set" do
|
19
36
|
it_should_behave_like "Flickr parse"
|
20
37
|
it "should have media api type = FLICKR_SET" do
|
21
38
|
@a.media_api_type.should == Muri::FLICKR_SET
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should be flickr set" do
|
42
|
+
@a.is_flickr_set?.should == true
|
22
43
|
end
|
23
44
|
end
|
24
45
|
|
data/test/imageshack_test.rb
CHANGED
@@ -2,8 +2,17 @@ require 'lib/muri.rb'
|
|
2
2
|
|
3
3
|
shared_examples_for "Imageshack parse" do
|
4
4
|
it "should be Imageshack service" do
|
5
|
-
|
5
|
+
#@a.media_service.should == 'Imageshack'
|
6
|
+
@a.is_imageshack?.should == true
|
6
7
|
end
|
8
|
+
|
9
|
+
it "should be not be other services" do
|
10
|
+
@a.is_vimeo?.should == false
|
11
|
+
@a.is_youtube?.should == false
|
12
|
+
@a.is_facebook?.should == false
|
13
|
+
@a.is_photobucket?.should == false
|
14
|
+
end
|
15
|
+
|
7
16
|
it "should be valid" do
|
8
17
|
@a.valid?.should == true
|
9
18
|
end
|
data/test/photobucket_test.rb
CHANGED
@@ -2,9 +2,17 @@ require 'lib/muri.rb'
|
|
2
2
|
|
3
3
|
shared_examples_for "Photobucket parse" do
|
4
4
|
it "should be Photobucket service" do
|
5
|
-
|
5
|
+
#@a.media_service.should == 'Photobucket'
|
6
|
+
@a.is_photobucket?.should == true
|
6
7
|
end
|
7
8
|
|
9
|
+
it "should be not be other services" do
|
10
|
+
@a.is_vimeo?.should == false
|
11
|
+
@a.is_youtube?.should == false
|
12
|
+
@a.is_facebook?.should == false
|
13
|
+
@a.is_flickr?.should == false
|
14
|
+
end
|
15
|
+
|
8
16
|
it "should be valid" do
|
9
17
|
@a.valid?.should == true
|
10
18
|
end
|
@@ -16,6 +24,10 @@ shared_examples_for "Photobucket parse photo" do
|
|
16
24
|
it "should have media api type = PHOTOBUCKET_MEDIA" do
|
17
25
|
@a.media_api_type.should == Muri::PHOTOBUCKET_MEDIA
|
18
26
|
end
|
27
|
+
|
28
|
+
it "should be photobucket media" do
|
29
|
+
@a.is_photobucket_media?.should == true
|
30
|
+
end
|
19
31
|
end
|
20
32
|
|
21
33
|
shared_examples_for "Photobucket parse album" do
|
@@ -24,6 +36,14 @@ shared_examples_for "Photobucket parse album" do
|
|
24
36
|
it "should have media api type = PHOTOBUCKET_ALBUM" do
|
25
37
|
@a.media_api_type.should == Muri::PHOTOBUCKET_ALBUM
|
26
38
|
end
|
39
|
+
|
40
|
+
it "should be photobucket album" do
|
41
|
+
@a.is_photobucket_album?.should == true
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should not be facebook album" do
|
45
|
+
@a.is_facebook_album?.should == false
|
46
|
+
end
|
27
47
|
end
|
28
48
|
shared_examples_for "Photobucket parse group album" do
|
29
49
|
it_should_behave_like "Photobucket parse"
|
@@ -31,6 +51,10 @@ shared_examples_for "Photobucket parse group album" do
|
|
31
51
|
it "should have media api type = PHOTOBUCKET_GROUP_ALBUM" do
|
32
52
|
@a.media_api_type.should == Muri::PHOTOBUCKET_GROUP_ALBUM
|
33
53
|
end
|
54
|
+
|
55
|
+
it "should be group album" do
|
56
|
+
@a.is_photobucket_group_album?.should == true
|
57
|
+
end
|
34
58
|
end
|
35
59
|
|
36
60
|
{'http://gs0001.photobucket.com/groups/0001/F9P8EG7YR8/' =>
|
data/test/picasa_test.rb
ADDED
@@ -0,0 +1,71 @@
|
|
1
|
+
require 'lib/muri.rb'
|
2
|
+
shared_examples_for "Picasa parse" do
|
3
|
+
it "should be Picasa service" do
|
4
|
+
@a.is_picasa?.should == true
|
5
|
+
end
|
6
|
+
|
7
|
+
it "should be not be other services" do
|
8
|
+
@a.is_vimeo?.should == false
|
9
|
+
@a.is_youtube?.should == false
|
10
|
+
@a.is_facebook?.should == false
|
11
|
+
@a.is_photobucket?.should == false
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should be valid" do
|
15
|
+
@a.valid?.should == true
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
shared_examples_for "Picasa parse photo" do
|
20
|
+
it_should_behave_like "Picasa parse"
|
21
|
+
it "should have media api type = PICASA_PHOTO" do
|
22
|
+
@a.media_api_type.should == Muri::PICASA_PHOTO
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should be picasa photo" do
|
26
|
+
@a.is_picasa_photo?.should == true
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should not be facebook photo" do
|
30
|
+
@a.is_facebook_photo?.should == false
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
{'http://picasaweb.google.com/bananastalktome/TestForAPI#5450524726782297346' =>
|
35
|
+
{ :media_id => '5450524726782297346',
|
36
|
+
:media_website => 'http://picasaweb.google.com/bananastalktome/TestForAPI#5450524726782297346',
|
37
|
+
:media_api_id => 'bananastalktome/album/TestForAPI/photoid/5450524726782297346'
|
38
|
+
}
|
39
|
+
}.each do |url, values|
|
40
|
+
|
41
|
+
describe "Picasa parse #{values[:type]} #{url}" do
|
42
|
+
before(:all) do
|
43
|
+
@a = Muri.parse url
|
44
|
+
end
|
45
|
+
it_should_behave_like "Picasa parse photo"
|
46
|
+
|
47
|
+
if values[:media_id]
|
48
|
+
it "should have media id" do
|
49
|
+
@a.media_id.should == values[:media_id]
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
if values[:media_website]
|
54
|
+
it "should have a website" do
|
55
|
+
@a.media_website.should == values[:media_website]
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
if values[:media_api_id]
|
60
|
+
it "should have media api id" do
|
61
|
+
@a.media_api_id.should == values[:media_api_id]
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
if values[:media_thumbnail]
|
66
|
+
it "should have media thumbnail" do
|
67
|
+
@a.media_thumbnail.should == values[:media_thumbnail]
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
data/test/twitpic_test.rb
CHANGED
@@ -1,8 +1,17 @@
|
|
1
1
|
require 'lib/muri.rb'
|
2
2
|
shared_examples_for "Twitpic parse" do
|
3
3
|
it "should be Twitpic service" do
|
4
|
-
|
4
|
+
#@a.media_service.should == 'Twitpic'
|
5
|
+
@a.is_twitpic?.should == true
|
5
6
|
end
|
7
|
+
|
8
|
+
it "should be not be other services" do
|
9
|
+
@a.is_vimeo?.should == false
|
10
|
+
@a.is_youtube?.should == false
|
11
|
+
@a.is_facebook?.should == false
|
12
|
+
@a.is_flickr?.should == false
|
13
|
+
end
|
14
|
+
|
6
15
|
it "should be valid" do
|
7
16
|
@a.valid?.should == true
|
8
17
|
end
|
@@ -12,7 +21,15 @@ shared_examples_for "Twitpic parse photo" do
|
|
12
21
|
it_should_behave_like "Twitpic parse"
|
13
22
|
it "should have media api type = TWITPIC_PHOTO" do
|
14
23
|
@a.media_api_type.should == Muri::TWITPIC_PHOTO
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should be twitpic photo" do
|
27
|
+
@a.is_twitpic_photo?.should == true
|
15
28
|
end
|
29
|
+
|
30
|
+
it "should not be facebook photo" do
|
31
|
+
@a.is_facebook_photo?.should == false
|
32
|
+
end
|
16
33
|
end
|
17
34
|
{'http://twitpic.com/17d7th' =>
|
18
35
|
{ :media_id => '17d7th',
|
data/test/vimeo_test.rb
CHANGED
@@ -2,9 +2,17 @@ require 'lib/muri.rb'
|
|
2
2
|
|
3
3
|
shared_examples_for "Vimeo parse" do
|
4
4
|
it "should be Vimeo service" do
|
5
|
-
|
5
|
+
#@a.media_service.should == 'Vimeo'
|
6
|
+
@a.is_vimeo?.should == true
|
6
7
|
end
|
7
8
|
|
9
|
+
it "should be not be other services" do
|
10
|
+
@a.is_photobucket?.should == false
|
11
|
+
@a.is_youtube?.should == false
|
12
|
+
@a.is_facebook?.should == false
|
13
|
+
@a.is_flickr?.should == false
|
14
|
+
end
|
15
|
+
|
8
16
|
it "should be valid" do
|
9
17
|
@a.valid?.should == true
|
10
18
|
end
|
@@ -17,6 +25,14 @@ shared_examples_for "Vimeo parse video" do
|
|
17
25
|
it "should have media api type = VIMEO_VIDEO" do
|
18
26
|
@a.media_api_type.should == Muri::VIMEO_VIDEO
|
19
27
|
end
|
28
|
+
|
29
|
+
it "should be vimeo video" do
|
30
|
+
@a.is_vimeo_video?.should == true
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should not be youtube video" do
|
34
|
+
@a.is_youtube_video?.should == false
|
35
|
+
end
|
20
36
|
end
|
21
37
|
shared_examples_for "Vimeo parse album" do
|
22
38
|
it_should_behave_like "Vimeo parse"
|
@@ -24,6 +40,14 @@ shared_examples_for "Vimeo parse album" do
|
|
24
40
|
it "should have media api type = VIMEO_ALBUM" do
|
25
41
|
@a.media_api_type.should == Muri::VIMEO_ALBUM
|
26
42
|
end
|
43
|
+
|
44
|
+
it "should be vimeo album" do
|
45
|
+
@a.is_vimeo_album?.should == true
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should not be photobucket album" do
|
49
|
+
@a.is_photobucket_album?.should == false
|
50
|
+
end
|
27
51
|
end
|
28
52
|
|
29
53
|
{'http://vimeo.com/moogaloop.swf?clip_id=7312128&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1' =>
|
data/test/youtube_test.rb
CHANGED
@@ -1,9 +1,17 @@
|
|
1
1
|
require 'lib/muri.rb'
|
2
2
|
shared_examples_for "Youtube parse" do
|
3
3
|
it "should be Youtube service" do
|
4
|
-
|
4
|
+
#@a.media_service.should == 'Youtube'
|
5
|
+
@a.is_youtube?.should == true
|
5
6
|
end
|
6
7
|
|
8
|
+
it "should be not be other services" do
|
9
|
+
@a.is_photobucket?.should == false
|
10
|
+
@a.is_vimeo?.should == false
|
11
|
+
@a.is_facebook?.should == false
|
12
|
+
@a.is_flickr?.should == false
|
13
|
+
end
|
14
|
+
|
7
15
|
it "should be valid" do
|
8
16
|
@a.valid?.should == true
|
9
17
|
end
|
@@ -15,6 +23,14 @@ shared_examples_for "Youtube parse single" do
|
|
15
23
|
it "should have media api type = YOUTUBE_VIDEO" do
|
16
24
|
@a.media_api_type.should == Muri::YOUTUBE_VIDEO
|
17
25
|
end
|
26
|
+
|
27
|
+
it "should be youtube video" do
|
28
|
+
@a.is_youtube_video?.should == true
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should not be vimeo video" do
|
32
|
+
@a.is_vimeo_video?.should == false
|
33
|
+
end
|
18
34
|
end
|
19
35
|
|
20
36
|
shared_examples_for "Youtube parse playlist" do
|
@@ -22,7 +38,11 @@ shared_examples_for "Youtube parse playlist" do
|
|
22
38
|
|
23
39
|
it "should have media api type = YOUTUBE_PLAYLIST" do
|
24
40
|
@a.media_api_type.should == Muri::YOUTUBE_PLAYLIST
|
25
|
-
end
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should be youtube playlist" do
|
44
|
+
@a.is_youtube_playlist?.should == true
|
45
|
+
end
|
26
46
|
end
|
27
47
|
|
28
48
|
{'http://www.youtube.com/v/4CYDFoEz8rg&hl=en_US&fs=1&' =>
|
metadata
CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 1
|
7
|
+
- 1
|
7
8
|
- 0
|
8
|
-
|
9
|
-
version: 1.0.0
|
9
|
+
version: 1.1.0
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- William Schneider
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-04-01 00:00:00 -04:00
|
18
18
|
default_executable:
|
19
19
|
dependencies: []
|
20
20
|
|
@@ -38,6 +38,7 @@ files:
|
|
38
38
|
- lib/muri/filters/flickr.rb
|
39
39
|
- lib/muri/filters/imageshack.rb
|
40
40
|
- lib/muri/filters/photobucket.rb
|
41
|
+
- lib/muri/filters/picasa.rb
|
41
42
|
- lib/muri/filters/twitpic.rb
|
42
43
|
- lib/muri/filters/vimeo.rb
|
43
44
|
- lib/muri/filters/youtube.rb
|
@@ -47,6 +48,7 @@ files:
|
|
47
48
|
- test/flickr_test.rb
|
48
49
|
- test/imageshack_test.rb
|
49
50
|
- test/photobucket_test.rb
|
51
|
+
- test/picasa_test.rb
|
50
52
|
- test/twitpic_test.rb
|
51
53
|
- test/vimeo_test.rb
|
52
54
|
- test/youtube_test.rb
|
@@ -85,6 +87,7 @@ test_files:
|
|
85
87
|
- test/twitpic_test.rb
|
86
88
|
- test/photobucket_test.rb
|
87
89
|
- test/vimeo_test.rb
|
90
|
+
- test/picasa_test.rb
|
88
91
|
- test/imageshack_test.rb
|
89
92
|
- test/error_test.rb
|
90
93
|
- test/flickr_test.rb
|