class Sproutvideo::Resource

Public Class Methods

api_key() click to toggle source
# File lib/sproutvideo/resource.rb, line 3
def self.api_key
  Sproutvideo.api_key
end
base_url() click to toggle source
# File lib/sproutvideo/resource.rb, line 6
def self.base_url
  Sproutvideo.base_url
end
delete(path, options = {}) click to toggle source
# File lib/sproutvideo/resource.rb, line 75
def self.delete(path, options = {})
  begin
    resp = RestClient.delete(
      "#{base_url}#{path}",
      {'SproutVideo-Api-Key' => api_key, :params => options.dup})
  rescue => e
    resp = e.response
  end
  Response.new(resp)
end
get(path, options = {}) click to toggle source
# File lib/sproutvideo/resource.rb, line 51
def self.get(path, options = {})
  begin
    resp = RestClient.get(
      "#{base_url}#{path}",
      {'SproutVideo-Api-Key' => api_key, :params => options.dup})
  rescue => e
    resp = e.response
  end
  Response.new(resp)
end
post(path, options={}) click to toggle source
# File lib/sproutvideo/resource.rb, line 10
def self.post(path, options={})
  body = MultiJson.encode(options.dup)
  begin
    resp = RestClient.post(
      "#{base_url}#{path}",
      body,
      {'SproutVideo-Api-Key' => api_key})
  rescue => e
    resp = e.response
  end
  Response.new(resp)
end
put(path, options = {}) click to toggle source
# File lib/sproutvideo/resource.rb, line 62
def self.put(path, options = {})
  body = MultiJson.encode(options.dup)
  begin
    resp = RestClient.put(
      "#{base_url}#{path}",
      body,
      {'SproutVideo-Api-Key' => api_key})
  rescue => e
    resp = e.response
  end
  Response.new(resp)
end
upload(path, file_path, options = {}) click to toggle source
# File lib/sproutvideo/resource.rb, line 23
def self.upload(path, file_path, options = {})
  resp = nil
  
  method = options.delete(:method) == :PUT ? :PUT : :POST

  File.open(file_path) do |file|
    
    if method == :POST
      body = {:source_video => file}.merge(options.dup)
    else
      body = {:custom_poster_frame => file}
    end

    begin
      resp = RestClient.send(
        method == :POST ? 'post' : 'put',
        "#{base_url}#{path}",
        body,
        {'SproutVideo-Api-Key' => api_key, :timeout => 18000})
    rescue => e
      puts e
      resp = e.response
    end
  end
  
  Response.new(resp)
end