Class: S3Website::Keyboard

Inherits:
Object
  • Object
show all
Defined in:
lib/s3_website/keyboard.rb

Class Method Summary collapse

Class Method Details

.if_user_confirms_delete(to_delete, config, standard_input = STDIN) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/s3_website/keyboard.rb', line 3

def self.if_user_confirms_delete(to_delete, config, 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 website 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, config) { |f|
    yield f
  }
end