Class: Railswatch::InstallGenerator

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(_dirname) ⇒ Object



42
43
44
# File 'lib/generators/railswatch/install/install_generator.rb', line 42

def self.next_migration_number(_dirname)
  Time.now.utc.strftime('%Y%m%d%H%M%S')
end

Instance Method Details

#copy_initializer_fileObject



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

def copy_initializer_file
  copy_file 'initializer.rb', 'config/initializers/railswatch.rb'
end

#install_migrationObject



16
17
18
19
20
21
# File 'lib/generators/railswatch/install/install_generator.rb', line 16

def install_migration
  migration_template(
    'create_railswatch_tables.rb',
    'db/migrate/create_railswatch_tables.rb'
  )
end

#show_database_setupObject

rubocop:disable Metrics/MethodLength



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/generators/railswatch/install/install_generator.rb', line 23

def show_database_setup # rubocop:disable Metrics/MethodLength
  say <<~TEXT

    railswatch was configured with database-backed storage.

    Primary database:
      Leave `config.database_connection_name = nil`.
      Run `bin/rails db:migrate`.

    Separate database:
      1. Add a `railswatch` database entry to `config/database.yml`
      2. Set `config.database_connection_name = :railswatch`
      3. Run `bin/rails db:migrate` for your app database
      4. Run `bin/rails db:migrate:railswatch`

    You can prune old data later with `bin/rails railswatch:prune`.
  TEXT
end