diff --git a/lib/tasks/data_marshal.rake b/lib/tasks/data_marshal.rake index 33f804749..34c9bff30 100644 --- a/lib/tasks/data_marshal.rake +++ b/lib/tasks/data_marshal.rake @@ -1,7 +1,7 @@ namespace :data do task :prepare => [:environment] do require 'lib/data_marshal' - require 'open-uri' + require 'lib/downloader' end desc "Dumps state to FILE, defaults to DBNAME.TIMESTAMP.data" @@ -28,12 +28,7 @@ namespace :data do target = "export.data" puts "* Downloading #{source}..." - File.open(target, "wb+") do |writer| - # NOTE Do not use File.open, open-uri doesn't intercept URL calls to that - open(source, "rb") do |reader| - writer.write(reader.read) - end - end + Downloader.download(source, target) puts "* Replacing data..." DataMarshal.restore(target) diff --git a/lib/tasks/db_fetch.rake b/lib/tasks/db_fetch.rake index 7b863af77..6c9887a96 100644 --- a/lib/tasks/db_fetch.rake +++ b/lib/tasks/db_fetch.rake @@ -16,12 +16,7 @@ namespace :db do cp current, backup puts "Downloading '#{source}' to '#{bn replacement}'..." - open(replacement, "w+") do |writer| - require 'open-uri' - open(source) do |reader| - writer.write(reader.read) - end - end + Downloader.download(source, replacement) puts "Swapping '#{bn replacement}' to '#{bn current}'..." mv replacement, current