module Selective::Ruby::Core::Helper
def self.banner
def self.banner $selective_banner_displayed = true <<~BANNER ____ _ _ _ / ___| ___| | ___ ___| |_(_)_ _____ \\___ \\ / _ \\ |/ _ \\/ __| __| \\ \\ / / _ \\ ___) | __/ | __/ (__| |_| |\\ V / __/ |____/ \\___|_|\\___|\\___|\\__|_| \\_/ \\___| ________________________________________ BANNER end
def banner
def banner Helper.banner end
def print_notice(message)
def print_notice(message) puts_indented <<~TEXT #{banner unless $selective_banner_displayed} #{message} TEXT end
def print_warning(message)
def print_warning(message) puts_indented <<~TEXT \e[33m #{message} \e[0m TEXT end
def puts_indented(text)
def puts_indented(text) puts text.gsub(/^/, " ") end
def safe_filename(filename)
def safe_filename(filename) filename .gsub(/[\/\\:*?"<>|\n\r]+/, '_') .gsub(/^\.+|\.+$/, '') .strip[0, 255] end
def with_error_handling(include_header: true)
def with_error_handling(include_header: true) yield rescue => e raise e if debug? header = <<~TEXT An error occurred. Please rerun with --debug and contact support at https://selective.ci/support TEXT unless $selective_banner_displayed header = <<~TEXT #{banner} #{header} TEXT end puts_indented <<~TEXT \e[31m #{header if include_header} #{e.message} \e[0m TEXT exit 1 end