Class: Grabbio::Client

Inherits:
Object
  • Object
show all
Includes:
Utils
Defined in:
lib/grabbio/client.rb

Instance Method Summary collapse

Methods included from Utils

#make_request, #parameters_to_string, #sign_request

Constructor Details

#initialize(api_key, api_secret) ⇒ Client

Returns a new instance of Client.



19
20
21
22
# File 'lib/grabbio/client.rb', line 19

def initialize(api_key, api_secret)
  @api_key = api_key
  @api_secret = api_secret
end

Instance Method Details

#grab(source, upload_url, opts = {}) ⇒ Object

Raises:

  • (ArgumentError)


24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/grabbio/client.rb', line 24

def grab(source, upload_url, opts = {})
  raise ArgumentError.new("Source URL must be a URL") unless source.is_a? String
  raise ArgumentError.new("Upload URL must be a URL") unless upload_url.is_a? String
  opts[:token] = @api_key
  opts[:source] = source
  opts[:upload_url] = upload_url
  opts[:server_time] = Time.now.to_i
  parameters = parameters_to_string(opts)
  hash = sign_request(@api_secret, parameters[1..-1])
  parameters += "&hash=#{hash}"
  url = API_URL+API_VERSION+"/videos.json#{parameters}"
  make_request(url)
end