Class: BackupNexus::Generators::BackupGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- BackupNexus::Generators::BackupGenerator
- Defined in:
- lib/generators/backup_nexus/backup_generator.rb
Instance Method Summary collapse
- #add_to_gitignore ⇒ Object
- #create_backup_directories ⇒ Object
- #create_config_template ⇒ Object
- #create_helper_script ⇒ Object
- #create_model_templates ⇒ Object
- #create_mysql_config ⇒ Object
- #create_schedule_template ⇒ Object
- #show_readme ⇒ Object
Instance Method Details
#add_to_gitignore ⇒ Object
44 45 46 47 48 49 50 |
# File 'lib/generators/backup_nexus/backup_generator.rb', line 44 def add_to_gitignore append_to_file ".gitignore", <<~GITIGNORE unless File.exist?(".gitignore") && File.read(".gitignore").include?("backup_nexus/backups") \n# BackupNexus backups storage/backup_nexus/backups/ config/backup/mysql-config/db_config.cnf GITIGNORE end |
#create_backup_directories ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/generators/backup_nexus/backup_generator.rb', line 12 def create_backup_directories empty_directory "config/backup" empty_directory "config/backup/models" empty_directory "config/backup/mysql-config" empty_directory "storage/backup_nexus/backups" empty_directory "storage/backup_nexus/backups/sync" empty_directory "storage/backup_nexus/backups/logs" end |
#create_config_template ⇒ Object
21 22 23 |
# File 'lib/generators/backup_nexus/backup_generator.rb', line 21 def create_config_template template "config.rb", "config/backup/config.rb" end |
#create_helper_script ⇒ Object
35 36 37 38 |
# File 'lib/generators/backup_nexus/backup_generator.rb', line 35 def create_helper_script template "backup_helper.sh", "bin/backup_nexus-backup" chmod "bin/backup_nexus-backup", 0o755 end |
#create_model_templates ⇒ Object
25 26 27 28 29 |
# File 'lib/generators/backup_nexus/backup_generator.rb', line 25 def create_model_templates template "models/daily_backup.rb", "config/backup/models/daily_backup.rb" template "models/full_backup.rb", "config/backup/models/full_backup.rb" template "models/sync_backup.rb", "config/backup/models/sync_backup.rb" end |
#create_mysql_config ⇒ Object
40 41 42 |
# File 'lib/generators/backup_nexus/backup_generator.rb', line 40 def create_mysql_config template "mysql-config/db_config.cnf", "config/backup/mysql-config/db_config.cnf" end |
#create_schedule_template ⇒ Object
31 32 33 |
# File 'lib/generators/backup_nexus/backup_generator.rb', line 31 def create_schedule_template template "schedule.rb", "config/backup/schedule.rb" end |
#show_readme ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/generators/backup_nexus/backup_generator.rb', line 52 def show_readme say "" say "✅ Backup directory structure created!", :green say "" say "Next steps:" say " 1. Edit config/backup/config.rb with your database credentials" say " 2. Customize models in config/backup/models/" say " 3. Install the schedule: whenever --write-crontab" say " 4. Test: bin/backup_nexus-backup status" say "" say "Backup models created:" say " - daily_backup: Incremental (skips large tables), local + remote" say " - full_backup: All tables, local only" say " - sync_backup: Remote sync to backup server" say "" end |