Class: SonyCiBasic::Downloader
- Inherits:
-
SonyCiClient
- Object
- SonyCiClient
- SonyCiBasic::Downloader
- Defined in:
- lib/sony_ci_api/sony_ci_basic.rb
Overview
:nodoc:
Constant Summary collapse
- @@cache =
{}
Instance Method Summary collapse
- #download(asset_id) ⇒ Object
-
#initialize(ci) ⇒ Downloader
constructor
A new instance of Downloader.
Methods inherited from SonyCiClient
Constructor Details
#initialize(ci) ⇒ Downloader
Returns a new instance of Downloader.
56 57 58 |
# File 'lib/sony_ci_api/sony_ci_basic.rb', line 56 def initialize(ci) @ci = ci end |
Instance Method Details
#download(asset_id) ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/sony_ci_api/sony_ci_basic.rb', line 60 def download(asset_id) hit = @@cache[asset_id] if !hit || hit[:expires] < Time.now curl = Curl::Easy.http_get('https'"://api.cimediacloud.com/assets/#{asset_id}/download") do |c| add_headers(c) end handle_errors(curl) url = JSON.parse(curl.body_str)['location'] @@cache[asset_id] = { url: url, expires: Time.now + 3 * 60 * 60 } end @@cache[asset_id][:url] end |