Class: Sproutvideo::Video
Class Method Summary
collapse
-
.create(file_path = '', options = {}) ⇒ Object
-
.destroy(video_id, options = {}) ⇒ Object
-
.details(video_id, options = {}) ⇒ Object
-
.list(options = {}) ⇒ Object
-
.replace(video_id, file_path = '') ⇒ Object
-
.signed_embed_code(video_id, security_token, params = {}, expires = nil, protocol = 'http') ⇒ Object
-
.update(video_id, options = {}) ⇒ Object
-
.upload_poster_frame(video_id, file_path = '') ⇒ Object
Methods inherited from Resource
api_key, base_url, delete, get, post, put, upload
Class Method Details
.create(file_path = '', options = {}) ⇒ Object
4
5
6
|
# File 'lib/sproutvideo/video.rb', line 4
def self.create(file_path='', options={})
upload("/videos", file_path, options, :source_video)
end
|
.destroy(video_id, options = {}) ⇒ Object
33
34
35
|
# File 'lib/sproutvideo/video.rb', line 33
def self.destroy(video_id, options={})
delete("/videos/#{video_id}", options)
end
|
.details(video_id, options = {}) ⇒ Object
21
22
23
|
# File 'lib/sproutvideo/video.rb', line 21
def self.details(video_id, options={})
get("/videos/#{video_id}", options)
end
|
.list(options = {}) ⇒ Object
12
13
14
15
16
17
18
19
|
# File 'lib/sproutvideo/video.rb', line 12
def self.list(options={})
params = {
:page => options.delete(:page) || 1,
:per_page => options.delete(:per_page) || 25
}
params = params.merge(options)
get("/videos", params)
end
|
.replace(video_id, file_path = '') ⇒ Object
8
9
10
|
# File 'lib/sproutvideo/video.rb', line 8
def self.replace(video_id, file_path='')
upload("/videos/#{video_id}/replace", file_path, {}, :source_video)
end
|
.signed_embed_code(video_id, security_token, params = {}, expires = nil, protocol = 'http') ⇒ Object
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
# File 'lib/sproutvideo/video.rb', line 37
def self.signed_embed_code(video_id, security_token, params={}, expires=nil, protocol='http')
host = 'videos.sproutvideo.com'
path = "/embed/#{video_id}/#{security_token}"
string_to_sign = "GET\n"
string_to_sign << "#{host}\n"
string_to_sign << "#{path}\n"
expires = Time.now.to_i + 300 unless expires
params = params.merge('expires' => expires)
url_params = ""
actual_url_params = ""
params.sort_by{|k,_|k}.each do |key, value|
value = value.to_s.strip
url_params << "&#{key}=#{CGI::unescape(value)}"
actual_url_params << "&#{key}=#{value}"
end
string_to_sign << "#{url_params}"
digest = OpenSSL::Digest.new('sha1')
b64_hmac = [OpenSSL::HMAC.digest(digest, Sproutvideo.api_key, string_to_sign)].pack("m").strip
signature = CGI.escape(b64_hmac)
"#{protocol}://#{host}#{path}?signature=#{signature}#{actual_url_params}"
end
|
.update(video_id, options = {}) ⇒ Object
25
26
27
|
# File 'lib/sproutvideo/video.rb', line 25
def self.update(video_id, options={})
put("/videos/#{video_id}", options)
end
|
.upload_poster_frame(video_id, file_path = '') ⇒ Object
29
30
31
|
# File 'lib/sproutvideo/video.rb', line 29
def self.upload_poster_frame(video_id, file_path='')
upload("/videos/#{video_id}", file_path, {:method => :PUT}, :custom_poster_frame)
end
|