Project

klaxon

0.0
No commit activity in last 3 years
No release in over 3 years
Before a potentially dangerous or destructive action, issue a programmable warning prompt.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

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