Sha256: d77fd1f8f895ed1e29e4881d15bcabd3147ac12096880bca80e9d8ec531c2feb

Contents?: true

Size: 943 Bytes

Versions: 1

Compression:

Stored size: 943 Bytes

Contents

module Jekyll
  module S3
    class Keyboard
      def self.if_user_confirms_delete(to_delete, standard_input=STDIN)
        delete_all = false
        keep_all = false
        confirmed_deletes = to_delete.map do |f|
          delete = false
          keep = false
          until delete || delete_all || keep || keep_all
            puts "#{f} is on S3 but not in your _site directory anymore. Do you want to [d]elete, [D]elete all, [k]eep, [K]eep all?"
            case standard_input.gets.chomp
            when 'd' then delete = true
            when 'D' then delete_all = true
            when 'k' then keep = true
            when 'K' then keep_all = true
            end
          end
          if (delete_all || delete) && !(keep_all || keep)
            f
          end
        end.select { |f| f }
        Parallelism.each_in_parallel_or_sequentially(confirmed_deletes) { |f|
          yield f
        }
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jekyll-s3-3.2.0 lib/jekyll-s3/keyboard.rb