module PurrPr::Actions
Public Instance Methods
ask(message, default: nil, multiline: false, newline: true)
click to toggle source
# File lib/purr_pr/actions.rb, line 7 def ask(message, default: nil, multiline: false, newline: true) puts(message) text = input(multiline: multiline) return default if text.empty? newline ? text + "\n" : text end
ask_yn(message, confirm: -> {}
click to toggle source
# File lib/purr_pr/actions.rb, line 17 def ask_yn(message, confirm: -> {}, decline: -> {}) puts(message) callback = STDIN.getch.downcase == 'y' ? confirm : decline callback.call end
finish()
click to toggle source
# File lib/purr_pr/actions.rb, line 28 def finish throw(:abort) end
interrupt()
click to toggle source
# File lib/purr_pr/actions.rb, line 32 def interrupt @interrupted = true throw(:abort) end
interrupted?()
click to toggle source
# File lib/purr_pr/actions.rb, line 37 def interrupted? !!@interrupted end
read_file(path)
click to toggle source
# File lib/purr_pr/actions.rb, line 24 def read_file(path) File.read(path) end
Private Instance Methods
input(multiline: false)
click to toggle source
# File lib/purr_pr/actions.rb, line 43 def input(multiline: false) # multiline input until empty line entered separator = multiline ? "\n\n" : "\n" gets(separator).chomp(separator) end