Class: SolidObserver::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/solid_observer/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_database_configurationObject



16
17
18
19
20
21
22
23
24
25
# File 'lib/generators/solid_observer/install_generator.rb', line 16

def add_database_configuration
  %w[development test production].each do |env|
    config_block = <<-YAML
  solid_observer_queue:
    <<: *default
    database: storage/#{env}_solid_observer_queue.sqlite3
    YAML
    inject_into_file "config/database.yml", config_block, after: /^#{env}:\n(?:  .*\n)*/
  end
end

#add_engine_mountObject



27
28
29
# File 'lib/generators/solid_observer/install_generator.rb', line 27

def add_engine_mount
  route 'mount SolidObserver::Engine, at: "/solid_observer"'
end

#create_initializerObject



12
13
14
# File 'lib/generators/solid_observer/install_generator.rb', line 12

def create_initializer
  template "initializer.rb.tt", "config/initializers/solid_observer.rb"
end

#show_instructionsObject



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/generators/solid_observer/install_generator.rb', line 31

def show_instructions
  say "\n"
  print_banner
  say "\n"
  say "Next steps:", :yellow
  say "  1. Review configuration in config/initializers/solid_observer.rb"
  say "  2. Install migrations: bin/rails solid_observer:install:migrations"
  say "  3. Create database: bin/rails db:create"
  say "  4. Run migrations: bin/rails db:migrate"
  say "  5. Restart your Rails server"
  say "  6. Visit /solid_observer to access the web dashboard"
  say "\n"
  say "Documentation: https://solid.observer", :red
  say "GitHub: https://github.com/bart-oz/solid_observer", :red
  say "\n"
end