Class: RlsMultiTenant::Generators::SetupGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- RlsMultiTenant::Generators::SetupGenerator
- Defined in:
- lib/rls_multi_tenant/generators/setup/setup_generator.rb
Instance Method Summary collapse
- #create_tenant_migration ⇒ Object
- #create_tenant_model ⇒ Object
- #create_uuid_migration ⇒ Object
- #show_instructions ⇒ Object
Instance Method Details
#create_tenant_migration ⇒ Object
34 35 36 37 38 39 40 41 42 43 |
# File 'lib/rls_multi_tenant/generators/setup/setup_generator.rb', line 34 def create_tenant_migration tenant_class_name = RlsMultiTenant.tenant_class_name migration_pattern = "*_create_#{tenant_class_name.underscore.pluralize}.rb" if Dir.glob(File.join(destination_root, "db/migrate/#{migration_pattern}")).any? say "#{tenant_class_name} migration already exists, skipping creation", :yellow else ('create_tenant', 3) end end |
#create_tenant_model ⇒ Object
15 16 17 18 19 20 21 22 23 24 |
# File 'lib/rls_multi_tenant/generators/setup/setup_generator.rb', line 15 def create_tenant_model tenant_class_name = RlsMultiTenant.tenant_class_name tenant_file_path = "app/models/#{tenant_class_name.underscore}.rb" if File.exist?(File.join(destination_root, tenant_file_path)) say "#{tenant_class_name} model already exists, skipping creation", :yellow else template 'tenant_model.rb', tenant_file_path end end |
#create_uuid_migration ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/rls_multi_tenant/generators/setup/setup_generator.rb', line 26 def create_uuid_migration if Dir.glob(File.join(destination_root, 'db/migrate/*_enable_uuid_extension.rb')).any? say 'UUID extension migration already exists, skipping creation', :yellow else ('enable_uuid', 1) end end |
#show_instructions ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/rls_multi_tenant/generators/setup/setup_generator.rb', line 45 def show_instructions tenant_class_name = RlsMultiTenant.tenant_class_name say "\n#{'=' * 60}", :green say 'RLS Multi-tenant setup completed successfully!', :green say '=' * 60, :green say "\nCreated:", :yellow say "• #{tenant_class_name} model", :green say '• UUID extension migration', :green say "• #{tenant_class_name} migration", :green say "\nNext steps:", :yellow say "\n1. Use 'rails generate rls_multi_tenant:model <model_name>' for new multi-tenant models", :yellow say '=' * 60, :green end |