Class: RailsPulse::Generators::InstallGenerator

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(path) ⇒ Object



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

def self.next_migration_number(path)
  next_migration_number = current_migration_number(path) + 1
  ActiveRecord::Migration.next_migration_number(next_migration_number)
end

Instance Method Details

#copy_gem_migrationsObject



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/generators/rails_pulse/install_generator.rb', line 25

def copy_gem_migrations
  gem_migrations_path = File.expand_path("../../../db/rails_pulse_migrate", __dir__)
  destination_dir = separate_database? ? "db/rails_pulse_migrate" : "db/migrate"

  if File.directory?(gem_migrations_path)
    Dir.glob("#{gem_migrations_path}/*.rb").each do |migration_file|
      migration_name = File.basename(migration_file)
      destination_path = File.join(destination_dir, migration_name)

      # Only copy if it doesn't already exist in the destination
      # Use File.join with destination_root to check the actual location
      full_destination_path = File.join(destination_root, destination_path)
      unless File.exist?(full_destination_path)
        copy_file migration_file, destination_path
      end
    end
  end
end

#copy_initializerObject



44
45
46
# File 'lib/generators/rails_pulse/install_generator.rb', line 44

def copy_initializer
  copy_file "rails_pulse.rb", "config/initializers/rails_pulse.rb"
end

#copy_schemaObject



17
18
19
# File 'lib/generators/rails_pulse/install_generator.rb', line 17

def copy_schema
  copy_file "db/rails_pulse_schema.rb", "db/rails_pulse_schema.rb"
end

#create_migration_directoryObject



21
22
23
# File 'lib/generators/rails_pulse/install_generator.rb', line 21

def create_migration_directory
  create_file "db/rails_pulse_migrate/.keep"
end

#display_post_install_messageObject



56
57
58
59
60
61
62
# File 'lib/generators/rails_pulse/install_generator.rb', line 56

def display_post_install_message
  if separate_database?
    display_separate_database_message
  else
    display_single_database_message
  end
end

#setup_database_configurationObject



48
49
50
51
52
53
54
# File 'lib/generators/rails_pulse/install_generator.rb', line 48

def setup_database_configuration
  if separate_database?
    create_separate_database_setup
  else
    create_single_database_setup
  end
end