Class: DecisionAgent::Generators::VersioningMigrationGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- DecisionAgent::Generators::VersioningMigrationGenerator
- Includes:
- Rails::Generators::Migration
- Defined in:
- lib/generators/decision_agent/versioning_migration/versioning_migration_generator.rb
Overview
Standalone generator that installs only the versioning tables and models.
Usage:
rails generate decision_agent:versioning_migration
This is a focused alternative to the full install generator. It generates:
- db/migrate/create_decision_agent_versioning_tables.rb
- app/models/rule_version.rb
- app/models/rule_version_tag.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.next_migration_number(dirname) ⇒ Object
24 25 26 27 |
# File 'lib/generators/decision_agent/versioning_migration/versioning_migration_generator.rb', line 24 def self.next_migration_number(dirname) next_migration_number = current_migration_number(dirname) + 1 ActiveRecord::Migration.next_migration_number(next_migration_number) end |
Instance Method Details
#copy_migration ⇒ Object
29 30 31 32 33 |
# File 'lib/generators/decision_agent/versioning_migration/versioning_migration_generator.rb', line 29 def copy_migration migration_template "versioning_migration.rb", "db/migrate/create_decision_agent_versioning_tables.rb", migration_version: migration_version end |
#copy_models ⇒ Object
35 36 37 38 |
# File 'lib/generators/decision_agent/versioning_migration/versioning_migration_generator.rb', line 35 def copy_models copy_file "rule_version.rb", "app/models/rule_version.rb" copy_file "rule_version_tag.rb", "app/models/rule_version_tag.rb" end |
#show_readme ⇒ Object
40 41 42 43 44 45 46 47 48 |
# File 'lib/generators/decision_agent/versioning_migration/versioning_migration_generator.rb', line 40 def show_readme say "\n" say "DecisionAgent versioning tables generated successfully!", :green say "\nNext steps:" say " 1. Run migrations: rails db:migrate" say " 2. Verify models: RuleVersion, RuleVersionTag" say " 3. Use the adapter: DecisionAgent::Versioning::ActiveRecordAdapter.new" say "\nSee docs/VERSIONING.md for configuration and usage examples." end |