Class: PinterestDL::Client
- Inherits:
-
Object
- Object
- PinterestDL::Client
- Defined in:
- lib/pinterest_dl/client.rb
Instance Method Summary collapse
- #clear_cache ⇒ Object
- #get(url, headers: {}, use_cache: true) ⇒ Object
-
#initialize(config: PinterestDL.config) ⇒ Client
constructor
A new instance of Client.
- #raw_get(url, headers: {}) ⇒ Object
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_cache ⇒ Object
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 |