lib/s3_website/uploader.rb in s3_website-1.7.4 vs lib/s3_website/uploader.rb in s3_website-1.7.5

- old
+ new

@@ -9,41 +9,52 @@ s3_config.merge! :access_key_id => s3_id, :secret_access_key => s3_secret end s3 = AWS::S3.new(s3_config) - new_files_count, changed_files_count, changed_files = upload_files( - s3, config, site_dir - ) + Dir.mktmpdir do |tmpdir| + FileUtils.cp_r(site_dir, tmpdir) + site_dir = File.join(tmpdir, File.basename(site_dir)) - redirects = config['redirects'] || {} - changed_redirects = setup_redirects redirects, config, s3 + gzip_local_files(config, site_dir) if !!config['gzip'] - deleted_files = remove_superfluous_files( - s3, - config, - { - :s3_bucket => config['s3_bucket'], - :site_dir => site_dir, - :redirects => redirects, - :in_headless_mode => in_headless_mode, - :ignore_on_server => config["ignore_on_server"] - } - ) + new_files_count, changed_files_count, changed_files = upload_files( + s3, config, site_dir + ) - print_done_report config + redirects = config['redirects'] || {} + changed_redirects = setup_redirects redirects, config, s3 - [new_files_count, changed_files_count, deleted_files, changed_files, changed_redirects, deleted_files] + deleted_files = remove_superfluous_files( + s3, + config, + { + :s3_bucket => config['s3_bucket'], + :site_dir => site_dir, + :redirects => redirects, + :in_headless_mode => in_headless_mode, + :ignore_on_server => config["ignore_on_server"] + } + ) + + print_done_report config + + [new_files_count, changed_files_count, deleted_files, changed_files, changed_redirects, deleted_files] + end end private def self.print_done_report(config) bucket_name = config['s3_bucket'] website_hostname_suffix = Endpoint.new(config['s3_endpoint']).website_hostname website_hostname_with_bucket = "%s.%s" % [bucket_name, website_hostname_suffix] puts "Done! Go visit: http://#{website_hostname_with_bucket}/index.html" + end + + def self.gzip_local_files(config, site_dir) + GzipHelper.new(config, site_dir).gzip_files end def self.upload_files(s3, config, site_dir) changed_files, new_files = DiffHelper.resolve_files_to_upload( s3.buckets[config['s3_bucket']],