module PostDB::CLI::Helper

The helper CLI module

This module contains helper functionality for the CLI.

Public Instance Methods

confirm_action!(message, aborted_message = nil) click to toggle source

Confirm an action

Arguments:

message: (String)
aborted_message: (String)

Example:

>> confirm_action! "Do something?"
=> nil
# File lib/postdb/cli/helper.rb, line 72
def confirm_action!(message, aborted_message = nil)
        # Prompt the user to confirm the action
        if prompt.no?(message)
                # Exit with a warning
                exit_with_warning(aborted_message)
        end
end
exit_with_error(*messages) click to toggle source

Exit with an error

Arguments:

messages: (Splat)

Example:

>> exit_with_error "Oops!"
=> nil
# File lib/postdb/cli/helper.rb, line 37
def exit_with_error(*messages)
        messages.each do |message|
                ("\n" == message) ? print(message) : prompt.error(message)
        end

        exit 1
end
exit_with_warning(*messages) click to toggle source

Exit with a warning

Arguments:

messages: (Splat)

Example:

>> exit_with_warning "Oops!"
=> nil
# File lib/postdb/cli/helper.rb, line 54
def exit_with_warning(*messages)
        messages.each do |message|
                ("\n" == message) ? print(message) : prompt.warn(message)
        end

        exit 1
end
format_error(error) click to toggle source

Format an error

Arguments:

error: (Exception)

Example:

>> format_error(error)
=> ["\n", "Error:", "  Error Message", "Backtrace:", "  from (irb):1"]
# File lib/postdb/cli/helper.rb, line 89
def format_error(error)
        errors = Array.new
        errors << "\n"
        errors << "Error:"
        errors << "  " + error.message
        errors << "\n"
        errors << "Backtrace:"
        errors += error.backtrace.map { |trace| "  " + trace }
        errors
end
new_line() click to toggle source

Print a newline character

Example:

>> new_line
=> "\n"
# File lib/postdb/cli/helper.rb, line 14
def new_line
        puts ""
end
prompt() click to toggle source

Get a prompt object

Example:

>> prompt
=> #<TTY::Prompt:0x00000000000000>
# File lib/postdb/cli/helper.rb, line 24
def prompt
        @prompt ||= TTY::Prompt.new
end