Class: DecisionAgent::Generators::InstallGenerator

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dirname) ⇒ Object



23
24
25
26
# File 'lib/generators/decision_agent/install/install_generator.rb', line 23

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



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/generators/decision_agent/install/install_generator.rb', line 28

def copy_migration
  migration_template "migration.rb",
                     "db/migrate/create_decision_agent_tables.rb",
                     migration_version: migration_version

  if options[:monitoring]
    migration_template "monitoring_migration.rb",
                       "db/migrate/create_decision_agent_monitoring_tables.rb",
                       migration_version: migration_version
  end

  return unless options[:ab_testing]

  migration_template "ab_testing_migration.rb",
                     "db/migrate/create_decision_agent_ab_testing_tables.rb",
                     migration_version: migration_version
end

#copy_modelsObject



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/generators/decision_agent/install/install_generator.rb', line 46

def copy_models
  copy_file "rule.rb", "app/models/rule.rb"
  copy_file "rule_version.rb", "app/models/rule_version.rb"

  if options[:monitoring]
    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

  return unless options[:ab_testing]

  copy_file "ab_test_model.rb", "app/models/ab_test_model.rb"
  copy_file "ab_test_assignment_model.rb", "app/models/ab_test_assignment_model.rb"
end

#copy_rake_tasksObject



63
64
65
66
# File 'lib/generators/decision_agent/install/install_generator.rb', line 63

def copy_rake_tasks
  copy_file "decision_agent_tasks.rake", "lib/tasks/decision_agent.rake" if options[:monitoring]
  copy_file "ab_testing_tasks.rake", "lib/tasks/ab_testing.rake" if options[:ab_testing]
end

#show_readmeObject



68
69
70
# File 'lib/generators/decision_agent/install/install_generator.rb', line 68

def show_readme
  readme "README" if behavior == :invoke
end