Class: SeedMigrator::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Generators::SeedMigrator::Helper
Defined in:
lib/generators/seed_migrator/install/install_generator.rb

Overview

Generator to install tmx data update in a new rails system.

Instance Method Summary collapse

Methods included from Generators::SeedMigrator::Helper

#application?, #application_class_name, #application_name, #data_update_class_name, #data_update_file_name, #full_application_class_name, #version_suffix

Instance Method Details

#create_initializerObject

Create the initializer file with default options.



10
11
12
13
14
15
16
17
18
# File 'lib/generators/seed_migrator/install/install_generator.rb', line 10

def create_initializer
  log :initializer, "Adding custom data update module"

  if application?
    template "data_update_module.rb", "config/initializers/#{application_name}_data_update.rb"
  else
    template "data_update_module.rb", "lib/#{application_name}/#{application_name}_data_update.rb"
  end
end

#update_seedsObject

Update seeds.rb



21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/generators/seed_migrator/install/install_generator.rb', line 21

def update_seeds
  log :initializer, "Adding data update seeder to seeds.rb"

  seed_code =<<SEED
include SeedMigrator::Seeds
apply_updates #{full_application_class_name}.root.join('db', 'data_updates')
SEED

  in_root do
    inject_into_file 'db/seeds.rb', "\n#{seed_code}\n", { :before => /\z/, :verbose => false }
  end
end