class Sproutvideo::Video

Public Class Methods

create(file_path='', options={}) click to toggle source
# File lib/sproutvideo/video.rb, line 4
def self.create(file_path='', options={})
  upload("/videos", file_path, options)
end
destroy(video_id, options={}) click to toggle source
# File lib/sproutvideo/video.rb, line 33
def self.destroy(video_id, options={})
  delete("/videos/#{video_id}", options)
end
details(video_id, options={}) click to toggle source
# File lib/sproutvideo/video.rb, line 21
def self.details(video_id, options={})
  get("/videos/#{video_id}", options)
end
list(options={}) click to toggle source
# 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='') click to toggle source
# File lib/sproutvideo/video.rb, line 8
def self.replace(video_id, file_path='')
  upload("/videos/#{video_id}/replace", file_path)
end
signed_embed_code(video_id, security_token, params={}, expires=nil, protocol='http') click to toggle source
# 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={}) click to toggle source
# 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='') click to toggle source
# File lib/sproutvideo/video.rb, line 29
def self.upload_poster_frame(video_id, file_path='')
  upload("/videos/#{video_id}", file_path, {:method => :PUT})
end