Gem Version

klaxson

Insert a programmable interactive warning prompt for developers before taking dangerous or destructive action.

Example:

Klaxon.alert banner: 'Delete', description: 'About to delete files!' do
  system "rm -rf"
end

Prints to STDERR

    _____       _      _
   |  __ \     | |    | |
   | |  | | ___| | ___| |_ ___
   | |  | |/ _ \ |/ _ \ __/ _ \
   | |__| |  __/ |  __/ |_  __/
   |_____/ \___|_|\___|\__\___|


About to delete files!
To continue, press ENTER. To abort, press Ctrl+C...

Using with YAML

The keyword args in the alert method work well with YAML symbol keys, and can be mixed with existing YAML-based build configurations if desired.

Given a config like:

---
dev:
    :alert:
        :banner: Development
        :description: |
            You are deploying to the dev environment
            outside the CI pipleine.
        :color: :yellow
prod:
    :alert:
        :banner: Production
        :description: |
            DANGER! You are deploying directly to
            production outside the CI pipeline. This
            is highly unusual and dangerous!
        :color: :red

The args for alert can be passed like:

Klaxon.alert YAML.load_file('config.yml').dig ENV['ENV'], :alert do
   # deploy files...
end