Class: DbdocEngine::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- DbdocEngine::Generators::InstallGenerator
- Defined in:
- lib/generators/dbdoc_engine/install/install_generator.rb
Instance Method Summary collapse
- #check_prerequisites ⇒ Object
- #complete ⇒ Object
- #copy_and_run_migrations ⇒ Object
- #seed_default_users ⇒ Object
- #setup_javascript ⇒ Object
- #setup_routes ⇒ Object
- #welcome ⇒ Object
Instance Method Details
#check_prerequisites ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/generators/dbdoc_engine/install/install_generator.rb', line 23 def check_prerequisites say_step "Checking prerequisites..." unless defined?(ActiveRecord::Base) say "ERROR: ActiveRecord is required. Please ensure your app uses ActiveRecord.", :red raise SystemExit end db_config = ActiveRecord::Base.connection_db_config say_done "Database: #{db_config.adapter} (#{db_config.database})" end |
#complete ⇒ Object
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/generators/dbdoc_engine/install/install_generator.rb', line 80 def complete say "" say "=" * 60, :green say " DbdocEngine installed successfully!", :green say "=" * 60, :green say "" say " Access your documentation at: http://localhost:3000/dbdoc", :cyan say "" say " Default login credentials:", :cyan say " user / password123 (read-only)", :cyan say " admin / password123 (can edit)", :cyan say " superadmin/ password123 (full control)", :cyan say "" say " To uninstall later:", :yellow say " bin/rails generate dbdoc_engine:uninstall", :yellow say "" end |
#copy_and_run_migrations ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/generators/dbdoc_engine/install/install_generator.rb', line 35 def copy_and_run_migrations rails_version = Rails.version.to_f say_step "Copying migrations (Rails #{rails_version >= 8.0 ? '8.x' : '7.x'})..." copy_migrations(rails_version) say_done "Migrations copied" Rake::Task.clear Rails.application.load_tasks invoke_task("dbdoc_engine:install:migrations", "Installing engine migrations") invoke_task("db:migrate", "Running migrations") end |
#seed_default_users ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/generators/dbdoc_engine/install/install_generator.rb', line 49 def seed_default_users say_step "Seeding default users..." Rake::Task.clear Rails.application.load_tasks invoke_task("dbdoc_engine:install:seeds", "Copying seed file") invoke_task("dbdoc_engine:db:seed", "Creating default users") say_done "Default users created (user / admin / superadmin)" end |
#setup_javascript ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/generators/dbdoc_engine/install/install_generator.rb', line 61 def setup_javascript rails_version = Rails.version.to_f if rails_version < 8.0 install_js_stack end update_importmap update_application_js if rails_version < 8.0 update_manifest end end |
#setup_routes ⇒ Object
76 77 78 |
# File 'lib/generators/dbdoc_engine/install/install_generator.rb', line 76 def setup_routes update_routes end |
#welcome ⇒ Object
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/generators/dbdoc_engine/install/install_generator.rb', line 12 def welcome say "" say "=" * 60, :green say " DbdocEngine Installer", :green say "=" * 60, :green say "" say " This will set up DbdocEngine in your Rails application.", :cyan say " Rails version detected: #{Rails.version}", :cyan say "" end |