muri 0.0.13 → 1.0.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 +8 -8
- data/VERSION.yml +2 -2
- data/lib/muri/base.rb +54 -74
- data/lib/muri/filter.rb +13 -0
- data/lib/muri/filters/facebook.rb +42 -44
- data/lib/muri/filters/flickr.rb +62 -34
- data/lib/muri/filters/imageshack.rb +23 -26
- data/lib/muri/filters/photobucket.rb +71 -59
- data/lib/muri/filters/twitpic.rb +20 -22
- data/lib/muri/filters/vimeo.rb +41 -33
- data/lib/muri/filters/youtube.rb +39 -36
- data/lib/muri.rb +4 -2
- data/muri.gemspec +8 -8
- data/test/error_test.rb +2 -2
- data/test/facebook_test.rb +30 -42
- data/test/flickr_test.rb +55 -55
- data/test/imageshack_test.rb +42 -38
- data/test/photobucket_test.rb +104 -123
- data/test/twitpic_test.rb +44 -25
- data/test/vimeo_test.rb +55 -55
- data/test/youtube_test.rb +76 -95
- metadata +16 -9
data/test/vimeo_test.rb
CHANGED
@@ -2,7 +2,7 @@ require 'lib/muri.rb'
|
|
2
2
|
|
3
3
|
shared_examples_for "Vimeo parse" do
|
4
4
|
it "should be Vimeo service" do
|
5
|
-
@a.
|
5
|
+
@a.media_service.should == 'Vimeo'
|
6
6
|
end
|
7
7
|
|
8
8
|
it "should be valid" do
|
@@ -26,59 +26,59 @@ shared_examples_for "Vimeo parse album" do
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
|
30
|
-
|
31
|
-
|
29
|
+
{'http://vimeo.com/moogaloop.swf?clip_id=7312128&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1' =>
|
30
|
+
{ :type => :video,
|
31
|
+
:media_id => '7312128',
|
32
|
+
:media_url => 'http://vimeo.com/moogaloop.swf?clip_id=7312128&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1',
|
33
|
+
:media_website => 'http://vimeo.com/7312128',
|
34
|
+
:media_api_id => '7312128'
|
35
|
+
},
|
36
|
+
'http://vimeo.com/7312128' =>
|
37
|
+
{ :type => :video,
|
38
|
+
:media_id => '7312128',
|
39
|
+
:media_url => "http://vimeo.com/moogaloop.swf?clip_id=7312128&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1",
|
40
|
+
:media_website => 'http://vimeo.com/7312128',
|
41
|
+
:media_api_id => '7312128'
|
42
|
+
},
|
43
|
+
'http://vimeo.com/album/89702' =>
|
44
|
+
{ :type => :album,
|
45
|
+
:media_id => '89702',
|
46
|
+
:media_website => 'http://vimeo.com/album/89702',
|
47
|
+
:media_api_id => '89702'
|
48
|
+
}
|
49
|
+
}.each do |url, values|
|
50
|
+
describe "Vimeo parse #{values[:type]} #{url}" do
|
51
|
+
before(:all) do
|
52
|
+
@a = Muri.parse url
|
53
|
+
end
|
54
|
+
if values[:type] == :video
|
55
|
+
it_should_behave_like "Vimeo parse video"
|
56
|
+
elsif values[:type] == :album
|
57
|
+
it_should_behave_like "Vimeo parse album"
|
58
|
+
end
|
59
|
+
|
60
|
+
if values[:media_id]
|
61
|
+
it "should have media id" do
|
62
|
+
@a.media_id.should == values[:media_id]
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
if values[:media_url]
|
67
|
+
it "should have a media url" do
|
68
|
+
@a.media_url.should == values[:media_url]
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
if values[:media_website]
|
73
|
+
it "should have a website" do
|
74
|
+
@a.media_website.should == values[:media_website]
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
if values[:media_api_id]
|
79
|
+
it "should have media api id" do
|
80
|
+
@a.media_api_id.should == values[:media_api_id]
|
81
|
+
end
|
82
|
+
end
|
32
83
|
end
|
33
|
-
it_should_behave_like "Vimeo parse video"
|
34
|
-
|
35
|
-
it "should have media id" do
|
36
|
-
@a.media_id.should == '7312128'
|
37
|
-
end
|
38
|
-
|
39
|
-
it "should have a website" do
|
40
|
-
@a.website.should == 'http://vimeo.com/7312128'
|
41
|
-
end
|
42
|
-
|
43
|
-
it "should have media api id" do
|
44
|
-
@a.media_api_id.should == '7312128'
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
describe "Vimeo parse second" do
|
49
|
-
before(:all) do
|
50
|
-
@a = Muri.parse 'http://vimeo.com/7312128'
|
51
|
-
end
|
52
|
-
it_should_behave_like "Vimeo parse video"
|
53
|
-
|
54
|
-
it "should have media id" do
|
55
|
-
@a.media_id.should == '7312128'
|
56
|
-
end
|
57
|
-
|
58
|
-
it "should have a website" do
|
59
|
-
@a.website.should == 'http://vimeo.com/7312128'
|
60
|
-
end
|
61
|
-
|
62
|
-
it "should have media api id" do
|
63
|
-
@a.media_api_id.should == '7312128'
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
describe "Vimeo parse album first" do
|
68
|
-
before(:all) do
|
69
|
-
@a = Muri.parse 'http://vimeo.com/album/89702'
|
70
|
-
end
|
71
|
-
it_should_behave_like "Vimeo parse album"
|
72
|
-
|
73
|
-
it "should have media id" do
|
74
|
-
@a.media_id.should == '89702'
|
75
|
-
end
|
76
|
-
|
77
|
-
it "should have a website" do
|
78
|
-
@a.website.should == 'http://vimeo.com/album/89702'
|
79
|
-
end
|
80
|
-
|
81
|
-
it "should have media api id" do
|
82
|
-
@a.media_api_id.should == '89702'
|
83
|
-
end
|
84
84
|
end
|
data/test/youtube_test.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'lib/muri.rb'
|
2
2
|
shared_examples_for "Youtube parse" do
|
3
3
|
it "should be Youtube service" do
|
4
|
-
@a.
|
4
|
+
@a.media_service.should == 'Youtube'
|
5
5
|
end
|
6
6
|
|
7
7
|
it "should be valid" do
|
@@ -25,99 +25,80 @@ shared_examples_for "Youtube parse playlist" do
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
-
|
29
|
-
|
30
|
-
|
28
|
+
{'http://www.youtube.com/v/4CYDFoEz8rg&hl=en_US&fs=1&' =>
|
29
|
+
{ :type => :video,
|
30
|
+
:media_id => '4CYDFoEz8rg',
|
31
|
+
:media_api_id => '4CYDFoEz8rg',
|
32
|
+
:media_website => 'http://www.youtube.com/watch?v=4CYDFoEz8rg',
|
33
|
+
:media_url => 'http://www.youtube.com/v/4CYDFoEz8rg',
|
34
|
+
:media_thumbnail => 'http://i.ytimg.com/vi/4CYDFoEz8rg/default.jpg'
|
35
|
+
},
|
36
|
+
'http://www.youtube.com/watch?v=4CYDFoEz8rg' =>
|
37
|
+
{ :type => :video,
|
38
|
+
:media_id => '4CYDFoEz8rg',
|
39
|
+
:media_api_id => '4CYDFoEz8rg',
|
40
|
+
:media_website => 'http://www.youtube.com/watch?v=4CYDFoEz8rg',
|
41
|
+
:media_url => 'http://www.youtube.com/v/4CYDFoEz8rg',
|
42
|
+
:media_thumbnail => 'http://i.ytimg.com/vi/4CYDFoEz8rg/default.jpg'
|
43
|
+
},
|
44
|
+
'http://www.youtube.com/p/57633EC69B4A10A2&hl=en_US&fs=1' =>
|
45
|
+
{ :type => :playlist,
|
46
|
+
:media_id => '57633EC69B4A10A2',
|
47
|
+
:media_api_id => '57633EC69B4A10A2',
|
48
|
+
:media_website => 'http://www.youtube.com/view_play_list?p=57633EC69B4A10A2',
|
49
|
+
:media_url => 'http://www.youtube.com/p/57633EC69B4A10A2'
|
50
|
+
},
|
51
|
+
'http://www.youtube.com/view_play_list?p=57633EC69B4A10A2' =>
|
52
|
+
{ :type => :playlist,
|
53
|
+
:media_id => '57633EC69B4A10A2',
|
54
|
+
:media_api_id => '57633EC69B4A10A2',
|
55
|
+
:media_website => 'http://www.youtube.com/view_play_list?p=57633EC69B4A10A2',
|
56
|
+
:media_url => 'http://www.youtube.com/p/57633EC69B4A10A2'
|
57
|
+
},
|
58
|
+
"http://www.youtube.com/watch?v=IPFnWoYy_8w&feature=topvideos" =>
|
59
|
+
{ :type => :video,
|
60
|
+
:media_id => 'IPFnWoYy_8w',
|
61
|
+
:media_api_id => 'IPFnWoYy_8w'
|
62
|
+
}
|
63
|
+
}.each do |url, values|
|
64
|
+
describe "Youtube parse #{values[:type]} #{url}" do
|
65
|
+
before(:all) do
|
66
|
+
@a = Muri.parse url
|
67
|
+
end
|
68
|
+
if values[:type] == :playlist
|
69
|
+
it_should_behave_like "Youtube parse playlist"
|
70
|
+
elsif values[:type] == :video
|
71
|
+
it_should_behave_like "Youtube parse single"
|
72
|
+
end
|
73
|
+
|
74
|
+
if values[:media_id]
|
75
|
+
it "should have media id" do
|
76
|
+
@a.media_id.should == values[:media_id]
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
if values[:media_api_id]
|
81
|
+
it "should have media api id" do
|
82
|
+
@a.media_api_id.should == values[:media_api_id]
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
if values[:media_website]
|
87
|
+
it "should have media website" do
|
88
|
+
@a.media_website.should == values[:media_website]
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
if values[:media_url]
|
93
|
+
it "should have media url" do
|
94
|
+
@a.media_url.should == values[:media_url]
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
if values[:media_thumbnail]
|
99
|
+
it "should have thumbnail" do
|
100
|
+
@a.media_thumbnail.should == values[:media_thumbnail]
|
101
|
+
end
|
102
|
+
end
|
31
103
|
end
|
32
|
-
it_should_behave_like "Youtube parse single"
|
33
|
-
|
34
|
-
it "should have media id" do
|
35
|
-
@a.media_id.should == '4CYDFoEz8rg'
|
36
|
-
end
|
37
|
-
|
38
|
-
it "should have media api id" do
|
39
|
-
@a.media_api_id.should == '4CYDFoEz8rg'
|
40
|
-
end
|
41
|
-
|
42
|
-
it "should have media url" do
|
43
|
-
@a.website.should == 'http://www.youtube.com/watch?v=4CYDFoEz8rg'
|
44
|
-
end
|
45
|
-
|
46
|
-
it "should have website" do
|
47
|
-
@a.media_url.should == 'http://www.youtube.com/v/4CYDFoEz8rg'
|
48
|
-
end
|
49
|
-
|
50
|
-
it "should have thumbnail" do
|
51
|
-
@a.media_thumbnail.should == 'http://i.ytimg.com/vi/4CYDFoEz8rg/default.jpg'
|
52
|
-
end
|
53
|
-
end
|
54
|
-
describe "Youtube parse second" do
|
55
|
-
before(:all) do
|
56
|
-
@a = Muri.parse 'http://www.youtube.com/watch?v=4CYDFoEz8rg'
|
57
|
-
end
|
58
|
-
it_should_behave_like "Youtube parse single"
|
59
|
-
|
60
|
-
it "should have media id" do
|
61
|
-
@a.media_id.should == '4CYDFoEz8rg'
|
62
|
-
end
|
63
|
-
|
64
|
-
it "should have media api id" do
|
65
|
-
@a.media_api_id.should == '4CYDFoEz8rg'
|
66
|
-
end
|
67
|
-
|
68
|
-
it "should have media url" do
|
69
|
-
@a.website.should == 'http://www.youtube.com/watch?v=4CYDFoEz8rg'
|
70
|
-
end
|
71
|
-
|
72
|
-
it "should have website" do
|
73
|
-
@a.media_url.should == 'http://www.youtube.com/v/4CYDFoEz8rg'
|
74
|
-
end
|
75
|
-
|
76
|
-
it "should have thumbnail" do
|
77
|
-
@a.media_thumbnail.should == 'http://i.ytimg.com/vi/4CYDFoEz8rg/default.jpg'
|
78
|
-
end
|
79
|
-
end
|
80
|
-
|
81
|
-
describe "Youtube parse playlist first" do
|
82
|
-
before(:all) do
|
83
|
-
@a = Muri.parse 'http://www.youtube.com/p/57633EC69B4A10A2&hl=en_US&fs=1'
|
84
|
-
end
|
85
|
-
it_should_behave_like "Youtube parse playlist"
|
86
|
-
it "should have media id" do
|
87
|
-
@a.media_id.should == '57633EC69B4A10A2'
|
88
|
-
end
|
89
|
-
|
90
|
-
it "should have media api id" do
|
91
|
-
@a.media_api_id.should == '57633EC69B4A10A2'
|
92
|
-
end
|
93
|
-
|
94
|
-
it "should have media url" do
|
95
|
-
@a.website.should == 'http://www.youtube.com/view_play_list?p=57633EC69B4A10A2'
|
96
|
-
end
|
97
|
-
|
98
|
-
it "should have website" do
|
99
|
-
@a.media_url.should == 'http://www.youtube.com/p/57633EC69B4A10A2'
|
100
|
-
end
|
101
|
-
end
|
102
|
-
|
103
|
-
describe "Youtube parse playlist second" do
|
104
|
-
before(:all) do
|
105
|
-
@a = Muri.parse 'http://www.youtube.com/view_play_list?p=57633EC69B4A10A2'
|
106
|
-
end
|
107
|
-
it_should_behave_like "Youtube parse playlist"
|
108
|
-
it "should have media id" do
|
109
|
-
@a.media_id.should == '57633EC69B4A10A2'
|
110
|
-
end
|
111
|
-
|
112
|
-
it "should have media api id" do
|
113
|
-
@a.media_api_id.should == '57633EC69B4A10A2'
|
114
|
-
end
|
115
|
-
|
116
|
-
it "should have media url" do
|
117
|
-
@a.website.should == 'http://www.youtube.com/view_play_list?p=57633EC69B4A10A2'
|
118
|
-
end
|
119
|
-
|
120
|
-
it "should have website" do
|
121
|
-
@a.media_url.should == 'http://www.youtube.com/p/57633EC69B4A10A2'
|
122
|
-
end
|
123
104
|
end
|
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: muri
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 1
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
version: 1.0.0
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- William Schneider
|
@@ -9,7 +14,7 @@ autorequire:
|
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date: 2010-03-
|
17
|
+
date: 2010-03-28 00:00:00 -04:00
|
13
18
|
default_executable:
|
14
19
|
dependencies: []
|
15
20
|
|
@@ -58,27 +63,29 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
58
63
|
requirements:
|
59
64
|
- - ">="
|
60
65
|
- !ruby/object:Gem::Version
|
66
|
+
segments:
|
67
|
+
- 0
|
61
68
|
version: "0"
|
62
|
-
version:
|
63
69
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
64
70
|
requirements:
|
65
71
|
- - ">="
|
66
72
|
- !ruby/object:Gem::Version
|
73
|
+
segments:
|
74
|
+
- 0
|
67
75
|
version: "0"
|
68
|
-
version:
|
69
76
|
requirements: []
|
70
77
|
|
71
78
|
rubyforge_project:
|
72
|
-
rubygems_version: 1.3.
|
79
|
+
rubygems_version: 1.3.6
|
73
80
|
signing_key:
|
74
81
|
specification_version: 3
|
75
82
|
summary: Media URI Parser
|
76
83
|
test_files:
|
77
|
-
- test/error_test.rb
|
78
84
|
- test/facebook_test.rb
|
79
|
-
- test/flickr_test.rb
|
80
|
-
- test/imageshack_test.rb
|
81
|
-
- test/photobucket_test.rb
|
82
85
|
- test/twitpic_test.rb
|
86
|
+
- test/photobucket_test.rb
|
83
87
|
- test/vimeo_test.rb
|
88
|
+
- test/imageshack_test.rb
|
89
|
+
- test/error_test.rb
|
90
|
+
- test/flickr_test.rb
|
84
91
|
- test/youtube_test.rb
|