Module: CaptureAPI::API

Defined in:
lib/captureapi/api.rb

Class Method Summary collapse

Class Method Details

.request_hash(url) ⇒ Object



34
35
36
37
38
39
40
41
# File 'lib/captureapi/api.rb', line 34

def request_hash(url)
  configuration = CaptureAPI::configuration
  api_key = configuration.api_key
  date = Time.now.utc.strftime('%Y-%m-%d')
  hash_data = "#{url}#{api_key}#{date}"
  digest = Digest::SHA2.new(256)
  digest.hexdigest(hash_data)
end

.thumbnail_uri(url, options = {}) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/captureapi/api.rb', line 8

def thumbnail_uri(url, options = {})
  configuration = CaptureAPI::configuration

  options[:width]         ||= 200
  options[:height]        ||= 200
  options[:cache]         ||= '1h'
  options[:manipulations] ||= "thumbnail #{options[:width]} #{options[:height]}"

  query = {
    :url           => url,
    :key_id        => configuration.api_key_id,
    :cache         => options[:cache],
    :hash          => request_hash(url),
    :manipulations => options[:manipulations]
  }

  uri = URI::HTTP.build({
    :host  => configuration.host,
    :path  => '/inline_capture',
    :query => query.to_query
  })

  uri.scheme = 'https'
  uri
end