Class: PinterestDL::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/pinterest_dl/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(config: PinterestDL.config) ⇒ Client

Returns a new instance of Client.



10
11
12
13
14
# File 'lib/pinterest_dl/client.rb', line 10

def initialize(config: PinterestDL.config)
  @config = config
  @cache = {}
  @last_request_at = nil
end

Instance Method Details

#clear_cacheObject



32
33
34
# File 'lib/pinterest_dl/client.rb', line 32

def clear_cache
  @cache.clear
end

#get(url, headers: {}, use_cache: true) ⇒ Object



16
17
18
19
20
21
22
23
24
# File 'lib/pinterest_dl/client.rb', line 16

def get(url, headers: {}, use_cache: true)
  cache_key = [url, headers].hash
  return @cache[cache_key] if use_cache && @cache.key?(cache_key)

  response = request_with_retries(url, headers: headers)
  body = handle_response(response, url)
  @cache[cache_key] = body if use_cache
  body
end

#raw_get(url, headers: {}) ⇒ Object



26
27
28
29
30
# File 'lib/pinterest_dl/client.rb', line 26

def raw_get(url, headers: {})
  response = request_with_retries(url, headers: headers)
  handle_response(response, url, raw: true)
  response
end