require 'httparty' require 'tempfile' class AmazonCopy def download_video videolisting file = Tempfile.new ["video_",".mp4"], "#{Rails.root}/tmp" begin file.write HTTParty.get(videolisting.get_video_url).parsed_response.force_encoding("utf-8") file.flush puts "File #{videolisting.videocode} downloaded." s3 = AWS::S3.new obj = s3.buckets['digitalmarketingvideos'].objects["bvideos/#{videolisting.videocode}.mp4"] obj.write(file) puts "File #{videolisting.videocode} uploaded." ensure file.close file.unlink end end handle_asynchronously :download_video end