Class: DecisionAgent::Generators::MonitoringMigrationGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/decision_agent/monitoring_migration/monitoring_migration_generator.rb

Overview

Standalone generator that installs only the monitoring tables and models.

Usage:

rails generate decision_agent:monitoring_migration

This is a focused alternative to the full install generator's --monitoring flag. It generates:

- db/migrate/create_decision_agent_monitoring_tables.rb
- app/models/decision_log.rb
- app/models/evaluation_metric.rb
- app/models/performance_metric.rb
- app/models/error_metric.rb
- lib/tasks/decision_agent.rake

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dirname) ⇒ Object



28
29
30
31
# File 'lib/generators/decision_agent/monitoring_migration/monitoring_migration_generator.rb', line 28

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_migrationObject



33
34
35
36
37
# File 'lib/generators/decision_agent/monitoring_migration/monitoring_migration_generator.rb', line 33

def copy_migration
  migration_template "monitoring_migration.rb",
                     "db/migrate/create_decision_agent_monitoring_tables.rb",
                     migration_version: migration_version
end

#copy_modelsObject



39
40
41
42
43
44
# File 'lib/generators/decision_agent/monitoring_migration/monitoring_migration_generator.rb', line 39

def copy_models
  copy_file "decision_log.rb",        "app/models/decision_log.rb"
  copy_file "evaluation_metric.rb",   "app/models/evaluation_metric.rb"
  copy_file "performance_metric.rb",  "app/models/performance_metric.rb"
  copy_file "error_metric.rb",        "app/models/error_metric.rb"
end

#copy_rake_tasksObject



46
47
48
# File 'lib/generators/decision_agent/monitoring_migration/monitoring_migration_generator.rb', line 46

def copy_rake_tasks
  copy_file "decision_agent_tasks.rake", "lib/tasks/decision_agent.rake"
end

#show_readmeObject



50
51
52
53
54
55
56
57
58
# File 'lib/generators/decision_agent/monitoring_migration/monitoring_migration_generator.rb', line 50

def show_readme
  say "\n"
  say "DecisionAgent monitoring tables generated successfully!", :green
  say "\nNext steps:"
  say "  1. Run migrations:    rails db:migrate"
  say "  2. Verify models:     DecisionLog, EvaluationMetric, PerformanceMetric, ErrorMetric"
  say "  3. Use the adapter:   DecisionAgent::Monitoring::Storage::ActiveRecordAdapter.new"
  say "\nSee docs/PERSISTENT_MONITORING.md for configuration and query examples."
end