Class: SprinkleDNS::CLI::InteractiveChangeRequestPrinter
- Inherits:
-
Object
- Object
- SprinkleDNS::CLI::InteractiveChangeRequestPrinter
- Defined in:
- lib/sprinkle_dns/cli/interactive_change_request_printer.rb
Instance Method Summary collapse
- #draw(change_requests, sync_word = "SYNCING", synced_word = "SYNCED") ⇒ Object
-
#initialize ⇒ InteractiveChangeRequestPrinter
constructor
A new instance of InteractiveChangeRequestPrinter.
- #reset! ⇒ Object
Constructor Details
#initialize ⇒ InteractiveChangeRequestPrinter
Returns a new instance of InteractiveChangeRequestPrinter.
3 4 5 |
# File 'lib/sprinkle_dns/cli/interactive_change_request_printer.rb', line 3 def initialize reset! end |
Instance Method Details
#draw(change_requests, sync_word = "SYNCING", synced_word = "SYNCED") ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/sprinkle_dns/cli/interactive_change_request_printer.rb', line 11 def draw(change_requests, sync_word = "SYNCING", synced_word = "SYNCED") lines = [] change_requests.each do |change_request| dots = '.' * change_request.tries sync = change_request.in_sync ? '✔' : '✘' status = change_request.in_sync ? synced_word : sync_word lines << "#{sync} #{status} #{change_request.hosted_zone.name}#{dots}" end if @redraws > 0 clear = "\r" + ("\e[A\e[K") * lines.size puts clear + lines.join("\n") else puts lines.join("\n") end @redraws += 1 sleep(2) end |
#reset! ⇒ Object
7 8 9 |
# File 'lib/sprinkle_dns/cli/interactive_change_request_printer.rb', line 7 def reset! @redraws = 0 end |