# library functions function confirm { read -p "$1 ([y]es or [N]o): " case $(echo $REPLY | tr '[A-Z]' '[a-z]') in y | yes) echo "yes" ;; *) echo "no" ;; esac } function load_app_name { [[ -z "${PROJECT_DIR:-}" ]] && echo '`PROJECT_DIR` variable should be initialized first!' && exit 4 local application_ruby="$PROJECT_DIR/config/application.rb" [[ ! -f $application_ruby ]] && echo "ERROR: $application_ruby not found!" && exit 20 APP_NAME=$(grep ^module $application_ruby | cut -d' ' -f2) APP_NAME=${APP_NAME,,} # downcase } function load_database_settings { local rails_cmd=" ActiveRecord::Base.configurations.configurations # .find{it.env_name == '$RAILS_ENV'} .find{_1.env_name == '$RAILS_ENV'} .configuration_hash .each do |k,v| puts \"#{k}\\t#{v}\" end " local db_settings=$(rails runner "$rails_cmd") ADAPTER=$(echo -e "$db_settings" | grep adapter | cut -f2) DB_NAME=$(echo -e "$db_settings" | grep database | cut -f2) DB_USER=$(echo -e "$db_settings" | grep user | cut -f2) DB_PASSWORD=$(echo -e "$db_settings" | grep password | cut -f2) } function load_storage_settings { STORAGE_DIR=$(rails runner 'puts ActiveStorage::Blob.service.root') } function load_db_version { DB_VERSION=$(grep -E "define\(version:" "$PROJECT_DIR/db/schema.rb" | cut -d' ' -f2 | cut -d')' -f1) } function load_yamal_d_extra_scripts { load_app_name load_db_version echo "APP_NAME=$APP_NAME" echo "DB_VERSION=$DB_VERSION" if [[ -f $PROJECT_DIR/bin/yamal.d/$DB_VERSION.bash ]]; then echo '------------------------' echo "YAMAL_D extra script found" source $PROJECT_DIR/bin/yamal.d/$DB_VERSION.bash echo '------------------------' fi } ## MAIN load_yamal_d_extra_scripts