efficient_downloader 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b62e456a1448a57a42b6bb372d5de996ffeee878
4
- data.tar.gz: a0b910a0c3ae2ab01862349c589a376fcaa79a9b
3
+ metadata.gz: c13ba1638a09a12bb98472db7527fb2e78371e42
4
+ data.tar.gz: 19944c33c3b6048ac3ba98ba8b42878719642f3a
5
5
  SHA512:
6
- metadata.gz: 62ab37cf76d87f6a329a78e3d86f5160297e2f8b184b8dd33dbf50199d77fb07eaf389bea29917dbb03bbcbb5d5f77d63a834da6173c85ddc69528c015f846e0
7
- data.tar.gz: 0d57f551cdb53c19760e4ba3b685962ad7a7ca2e8f484fe1904e71b6404dc1fb798c3a77d4bfcf71e6c7274d69130b3a9326d369e43a7d8eacd0e97ca296c5b6
6
+ metadata.gz: 8a3f88ca6ccf69fbd41d1873fbcc1e3160f326ee0e9e4216fbee1f2713e35068cbf35f29c52b45bf2c4f9e608ad20fe79af7dfb6872cafbe32a2ddf609208209
7
+ data.tar.gz: 5f8cdeaefe7e130b6c2cf41d42d7b5135b6dce708e30a57d5dca5f5e833f912da41b06e72688f5ddd941f726236eaef79392742ce97c4a13f856b47aa7da8e40
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- efficient_downloader (0.2.0)
4
+ efficient_downloader (0.3.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -1,3 +1,3 @@
1
1
  module EfficientDownloader
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -1,4 +1,5 @@
1
1
  require "efficient_downloader/version"
2
+ require "fileutils"
2
3
 
3
4
  class FileDownloadError < StandardError
4
5
  DEFAULT_MESSAGE = "There was a problem downloading the specified file"
@@ -27,10 +28,16 @@ module EfficientDownloader
27
28
  elsif response.is_a?(Net::HTTPInternalServerError)
28
29
  raise FileDownloadError, "Host of specified file returned an error."
29
30
  else
31
+ ensure_directory(to)
30
32
  File.open(to, "wb") { |io| response.read_body { |chunk| io.write(chunk) } }
31
33
  end
32
34
  end
33
35
  end
34
36
  download(redirect_uri, to) if redirect_uri
35
37
  end
38
+
39
+ def self.ensure_directory(to)
40
+ dirname = File.dirname(to)
41
+ FileUtils.mkdir_p(dirname) unless File.directory?(dirname)
42
+ end
36
43
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: efficient_downloader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carlos Martinez