vimeo 1.2.0 → 1.2.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/Rakefile +3 -1
- data/VERSION.yml +3 -3
- data/lib/vimeo.rb +0 -1
- data/lib/vimeo/advanced/base.rb +14 -5
- data/lib/vimeo/advanced/upload.rb +1 -1
- data/lib/vimeo/advanced/video.rb +2 -1
- data/lib/vimeo/advanced/video_embed.rb +0 -1
- data/test/fixtures/advanced/auth/access_token.txt +1 -0
- data/test/test_helper.rb +4 -1
- data/test/vimeo/advanced/album_test.rb +1 -1
- data/test/vimeo/advanced/auth_test.rb +3 -2
- data/test/vimeo/advanced/base_test.rb +3 -4
- data/vimeo.gemspec +12 -5
- metadata +47 -13
data/Rakefile
CHANGED
@@ -11,9 +11,10 @@ begin
|
|
11
11
|
gem.homepage = "http://github.com/matthooks/vimeo"
|
12
12
|
gem.authors = ["Matt Hooks"]
|
13
13
|
gem.rubyforge_project = "vimeo"
|
14
|
-
gem.add_development_dependency "shoulda", ">= 2.11.
|
14
|
+
gem.add_development_dependency "shoulda", ">= 2.11.3"
|
15
15
|
gem.add_development_dependency "fakeweb", ">= 1.2.6"
|
16
16
|
gem.add_development_dependency "crack", ">= 0.1.4"
|
17
|
+
gem.add_development_dependency "ruby-prof", ">= 0.9.2"
|
17
18
|
|
18
19
|
gem.has_rdoc = true
|
19
20
|
|
@@ -23,6 +24,7 @@ begin
|
|
23
24
|
gem.add_dependency "httparty", ">= 0.4.5"
|
24
25
|
gem.add_dependency "json", ">= 1.1.9"
|
25
26
|
gem.add_dependency "oauth", ">= 0.3.6"
|
27
|
+
gem.add_dependency "httpclient", ">= 2.1.5.2"
|
26
28
|
end
|
27
29
|
Jeweler::GemcutterTasks.new
|
28
30
|
rescue LoadError
|
data/VERSION.yml
CHANGED
data/lib/vimeo.rb
CHANGED
data/lib/vimeo/advanced/base.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'oauth'
|
2
|
+
|
1
3
|
module CreateApiMethod
|
2
4
|
|
3
5
|
# Creates a method that calls a Vimeo Method through the Advanced API.
|
@@ -18,6 +20,7 @@ module CreateApiMethod
|
|
18
20
|
|
19
21
|
required = options[:required].map { |r| r.to_s }.join(",")
|
20
22
|
optional = options[:optional].map { |o| ":#{o} => nil" }.join(",")
|
23
|
+
authorized = options.fetch(:authorized, true)
|
21
24
|
|
22
25
|
parameters = "(#{required unless required.blank?}#{',' unless required.blank?}options={#{optional}})"
|
23
26
|
|
@@ -34,7 +37,7 @@ module CreateApiMethod
|
|
34
37
|
#{ options[:required].map { |r| "sig_options.merge! :#{r} => #{r}"}.join("\n") }
|
35
38
|
#{ options[:optional].map { |o| "sig_options.merge! :#{o} => options[:#{o}] unless options[:#{o}].nil?" }.join("\n") }
|
36
39
|
|
37
|
-
make_request sig_options
|
40
|
+
make_request sig_options, #{authorized ? "true" : "false"}
|
38
41
|
end
|
39
42
|
|
40
43
|
alias #{camelized_method} #{method}
|
@@ -65,7 +68,7 @@ module Vimeo
|
|
65
68
|
extend CreateApiMethod
|
66
69
|
|
67
70
|
def initialize(consumer_key, consumer_secret, options = {})
|
68
|
-
@oauth_consumer = OAuth::Consumer.new(consumer_key, consumer_secret, :site => 'http://vimeo.com', :http_method => :get, :scheme => :
|
71
|
+
@oauth_consumer = OAuth::Consumer.new(consumer_key, consumer_secret, :site => 'http://vimeo.com', :http_method => :get, :scheme => :header)
|
69
72
|
unless options[:token].nil? && options[:secret].nil?
|
70
73
|
@access_token = OAuth::AccessToken.new(@oauth_consumer, options[:token], options[:secret])
|
71
74
|
end
|
@@ -76,7 +79,7 @@ module Vimeo
|
|
76
79
|
end
|
77
80
|
|
78
81
|
def get_request_token
|
79
|
-
@request_token ||= @oauth_consumer.get_request_token :scheme => :
|
82
|
+
@request_token ||= @oauth_consumer.get_request_token :scheme => :header
|
80
83
|
end
|
81
84
|
|
82
85
|
def get_access_token(oauth_token=nil, oauth_secret=nil, oauth_verifier=nil)
|
@@ -89,8 +92,14 @@ module Vimeo
|
|
89
92
|
|
90
93
|
private
|
91
94
|
|
92
|
-
def make_request(options)
|
93
|
-
|
95
|
+
def make_request(options, authorized)
|
96
|
+
if authorized
|
97
|
+
raw_response = @oauth_consumer.request(:post, "http://vimeo.com/api/rest/v2", get_access_token, {}, options).body
|
98
|
+
else
|
99
|
+
raw_response = @oauth_consumer.request(:post, "http://vimeo.com/api/rest/v2", nil, {}, options).body
|
100
|
+
end
|
101
|
+
|
102
|
+
response = Crack::JSON.parse(raw_response)
|
94
103
|
validate_response! response
|
95
104
|
response
|
96
105
|
end
|
@@ -45,7 +45,7 @@ module Vimeo
|
|
45
45
|
# Verifies a file manifest.
|
46
46
|
create_api_method :verify_manifest,
|
47
47
|
"vimeo.videos.upload.verifyManifest",
|
48
|
-
:required => [:
|
48
|
+
:required => [:ticket_id]
|
49
49
|
|
50
50
|
# TODO: Make this more flexible for split uploads?
|
51
51
|
def self.create_json_manifest(md5s)
|
data/lib/vimeo/advanced/video.rb
CHANGED
@@ -87,7 +87,8 @@ module Vimeo
|
|
87
87
|
create_api_method :search,
|
88
88
|
"vimeo.videos.search",
|
89
89
|
:required => [:query],
|
90
|
-
:optional => [:page, :per_page, :full_response, :sort, :user_id]
|
90
|
+
:optional => [:page, :per_page, :full_response, :sort, :user_id],
|
91
|
+
:authorized => false
|
91
92
|
|
92
93
|
create_api_method :set_description,
|
93
94
|
"vimeo.videos.setDescription",
|
@@ -0,0 +1 @@
|
|
1
|
+
oauth_token=12345&oauth_token_secret=secret
|
data/test/test_helper.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'test/unit'
|
3
3
|
|
4
|
-
gem 'shoulda', ">= 2.
|
4
|
+
gem 'thoughtbot-shoulda', ">= 2.10.2"
|
5
5
|
gem 'fakeweb', ">= 1.2.6"
|
6
6
|
gem 'crack', ">= 0.1.4"
|
7
7
|
gem 'mocha', ">= 0.9.8"
|
@@ -19,6 +19,9 @@ $LOAD_PATH.unshift(File.dirname(__FILE__))
|
|
19
19
|
require 'vimeo'
|
20
20
|
|
21
21
|
class Test::Unit::TestCase
|
22
|
+
def setup
|
23
|
+
FakeWeb.clean_registry
|
24
|
+
end
|
22
25
|
end
|
23
26
|
|
24
27
|
def fixture_file(filename)
|
@@ -9,7 +9,7 @@ class AlbumTest < Test::Unit::TestCase
|
|
9
9
|
end
|
10
10
|
|
11
11
|
should "be able to add a video to an album" do
|
12
|
-
|
12
|
+
stub_post("?oauth_nonce=3MFt5up5QljUQKJS8u9bOPzX9DXn3Xll1vdLLV2bwo&oauth_signature_method=HMAC-SHA1&oauth_token=token&oauth_timestamp=1261345197&oauth_consumer_key=12345&oauth_version=1.0&oauth_signature=SgRuPWsG%2BSHGOdw6HVbfHtqSXsY%3D", "advanced/album/add_video.json")
|
13
13
|
response = @album.add_video("album_id", "video_id")
|
14
14
|
|
15
15
|
assert_equal "ok", response["stat"]
|
@@ -12,13 +12,14 @@ class AuthTest < Test::Unit::TestCase
|
|
12
12
|
end
|
13
13
|
|
14
14
|
should "recieve a valid OAuth url" do
|
15
|
-
|
16
|
-
token = @auth.
|
15
|
+
stub_custom_get("/oauth/request_token", "advanced/auth/request_token.txt")
|
16
|
+
token = @auth.get_request_token
|
17
17
|
assert_equal true, token.callback_confirmed?
|
18
18
|
assert_equal "http://vimeo.com/oauth/authorize?oauth_token=#{TOKEN}", token.authorize_url
|
19
19
|
end
|
20
20
|
|
21
21
|
should "receive the user's credentials after checking the OAuth token" do
|
22
|
+
stub_custom_get("/oauth/access_token", "advanced/auth/access_token.txt")
|
22
23
|
stub_post("", "advanced/auth/check_access_token.json")
|
23
24
|
auth = @auth.check_access_token
|
24
25
|
assert_equal "token", auth["token"]
|
@@ -7,12 +7,11 @@ class BaseTest < Test::Unit::TestCase
|
|
7
7
|
setup do
|
8
8
|
@base = Vimeo::Advanced::Base.new("12345", "secret")
|
9
9
|
end
|
10
|
-
|
11
|
-
should "test something" do
|
12
|
-
# TODO: add tests for authorization_url
|
13
|
-
end
|
14
10
|
|
15
11
|
should "allow camel-cased methods" do
|
12
|
+
stub_custom_get("/oauth/access_token", "advanced/auth/access_token.txt")
|
13
|
+
stub_post("", "advanced/auth/check_access_token.json")
|
14
|
+
|
16
15
|
[:check_access_token, :checkAccessToken].each do |method|
|
17
16
|
@base.send method
|
18
17
|
end
|
data/vimeo.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{vimeo}
|
8
|
-
s.version = "1.2.
|
8
|
+
s.version = "1.2.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Matt Hooks"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-09-18}
|
13
13
|
s.description = %q{A full featured Ruby implementation of the Vimeo API.}
|
14
14
|
s.email = %q{matthooks@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -55,6 +55,7 @@ Gem::Specification.new do |s|
|
|
55
55
|
"test/fixtures/advanced/album/set_description.json",
|
56
56
|
"test/fixtures/advanced/album/set_password.json",
|
57
57
|
"test/fixtures/advanced/album/set_title.json",
|
58
|
+
"test/fixtures/advanced/auth/access_token.txt",
|
58
59
|
"test/fixtures/advanced/auth/check_access_token.json",
|
59
60
|
"test/fixtures/advanced/auth/check_token.json",
|
60
61
|
"test/fixtures/advanced/auth/get_frob.json",
|
@@ -220,27 +221,33 @@ Gem::Specification.new do |s|
|
|
220
221
|
s.specification_version = 3
|
221
222
|
|
222
223
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
223
|
-
s.add_development_dependency(%q<shoulda>, [">= 2.11.
|
224
|
+
s.add_development_dependency(%q<shoulda>, [">= 2.11.3"])
|
224
225
|
s.add_development_dependency(%q<fakeweb>, [">= 1.2.6"])
|
225
226
|
s.add_development_dependency(%q<crack>, [">= 0.1.4"])
|
227
|
+
s.add_development_dependency(%q<ruby-prof>, [">= 0.9.2"])
|
226
228
|
s.add_runtime_dependency(%q<httparty>, [">= 0.4.5"])
|
227
229
|
s.add_runtime_dependency(%q<json>, [">= 1.1.9"])
|
228
230
|
s.add_runtime_dependency(%q<oauth>, [">= 0.3.6"])
|
231
|
+
s.add_runtime_dependency(%q<httpclient>, [">= 2.1.5.2"])
|
229
232
|
else
|
230
|
-
s.add_dependency(%q<shoulda>, [">= 2.11.
|
233
|
+
s.add_dependency(%q<shoulda>, [">= 2.11.3"])
|
231
234
|
s.add_dependency(%q<fakeweb>, [">= 1.2.6"])
|
232
235
|
s.add_dependency(%q<crack>, [">= 0.1.4"])
|
236
|
+
s.add_dependency(%q<ruby-prof>, [">= 0.9.2"])
|
233
237
|
s.add_dependency(%q<httparty>, [">= 0.4.5"])
|
234
238
|
s.add_dependency(%q<json>, [">= 1.1.9"])
|
235
239
|
s.add_dependency(%q<oauth>, [">= 0.3.6"])
|
240
|
+
s.add_dependency(%q<httpclient>, [">= 2.1.5.2"])
|
236
241
|
end
|
237
242
|
else
|
238
|
-
s.add_dependency(%q<shoulda>, [">= 2.11.
|
243
|
+
s.add_dependency(%q<shoulda>, [">= 2.11.3"])
|
239
244
|
s.add_dependency(%q<fakeweb>, [">= 1.2.6"])
|
240
245
|
s.add_dependency(%q<crack>, [">= 0.1.4"])
|
246
|
+
s.add_dependency(%q<ruby-prof>, [">= 0.9.2"])
|
241
247
|
s.add_dependency(%q<httparty>, [">= 0.4.5"])
|
242
248
|
s.add_dependency(%q<json>, [">= 1.1.9"])
|
243
249
|
s.add_dependency(%q<oauth>, [">= 0.3.6"])
|
250
|
+
s.add_dependency(%q<httpclient>, [">= 2.1.5.2"])
|
244
251
|
end
|
245
252
|
end
|
246
253
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vimeo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 1.2.
|
9
|
+
- 2
|
10
|
+
version: 1.2.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Matt Hooks
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-09-18 00:00:00 -05:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -26,12 +26,12 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
hash:
|
29
|
+
hash: 37
|
30
30
|
segments:
|
31
31
|
- 2
|
32
32
|
- 11
|
33
|
-
-
|
34
|
-
version: 2.11.
|
33
|
+
- 3
|
34
|
+
version: 2.11.3
|
35
35
|
type: :development
|
36
36
|
version_requirements: *id001
|
37
37
|
- !ruby/object:Gem::Dependency
|
@@ -67,9 +67,25 @@ dependencies:
|
|
67
67
|
type: :development
|
68
68
|
version_requirements: *id003
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: ruby-prof
|
71
71
|
prerelease: false
|
72
72
|
requirement: &id004 !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
hash: 63
|
78
|
+
segments:
|
79
|
+
- 0
|
80
|
+
- 9
|
81
|
+
- 2
|
82
|
+
version: 0.9.2
|
83
|
+
type: :development
|
84
|
+
version_requirements: *id004
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: httparty
|
87
|
+
prerelease: false
|
88
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
73
89
|
none: false
|
74
90
|
requirements:
|
75
91
|
- - ">="
|
@@ -81,11 +97,11 @@ dependencies:
|
|
81
97
|
- 5
|
82
98
|
version: 0.4.5
|
83
99
|
type: :runtime
|
84
|
-
version_requirements: *
|
100
|
+
version_requirements: *id005
|
85
101
|
- !ruby/object:Gem::Dependency
|
86
102
|
name: json
|
87
103
|
prerelease: false
|
88
|
-
requirement: &
|
104
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
89
105
|
none: false
|
90
106
|
requirements:
|
91
107
|
- - ">="
|
@@ -97,11 +113,11 @@ dependencies:
|
|
97
113
|
- 9
|
98
114
|
version: 1.1.9
|
99
115
|
type: :runtime
|
100
|
-
version_requirements: *
|
116
|
+
version_requirements: *id006
|
101
117
|
- !ruby/object:Gem::Dependency
|
102
118
|
name: oauth
|
103
119
|
prerelease: false
|
104
|
-
requirement: &
|
120
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
105
121
|
none: false
|
106
122
|
requirements:
|
107
123
|
- - ">="
|
@@ -113,7 +129,24 @@ dependencies:
|
|
113
129
|
- 6
|
114
130
|
version: 0.3.6
|
115
131
|
type: :runtime
|
116
|
-
version_requirements: *
|
132
|
+
version_requirements: *id007
|
133
|
+
- !ruby/object:Gem::Dependency
|
134
|
+
name: httpclient
|
135
|
+
prerelease: false
|
136
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ">="
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
hash: 119
|
142
|
+
segments:
|
143
|
+
- 2
|
144
|
+
- 1
|
145
|
+
- 5
|
146
|
+
- 2
|
147
|
+
version: 2.1.5.2
|
148
|
+
type: :runtime
|
149
|
+
version_requirements: *id008
|
117
150
|
description: A full featured Ruby implementation of the Vimeo API.
|
118
151
|
email: matthooks@gmail.com
|
119
152
|
executables: []
|
@@ -162,6 +195,7 @@ files:
|
|
162
195
|
- test/fixtures/advanced/album/set_description.json
|
163
196
|
- test/fixtures/advanced/album/set_password.json
|
164
197
|
- test/fixtures/advanced/album/set_title.json
|
198
|
+
- test/fixtures/advanced/auth/access_token.txt
|
165
199
|
- test/fixtures/advanced/auth/check_access_token.json
|
166
200
|
- test/fixtures/advanced/auth/check_token.json
|
167
201
|
- test/fixtures/advanced/auth/get_frob.json
|