Class: DatabaseGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/database/database_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_all_dirsObject

TODO give these a check, so they wont execute if files already exist



17
18
19
20
21
22
23
24
# File 'lib/generators/database/database_generator.rb', line 17

def create_all_dirs
  system "mkdir db_#{file_name}"
  system "touch db_#{file_name}/.keep"
  system "mkdir db_#{file_name}/migrate"
  system "touch db_#{file_name}/migrate/.keep"

  system "mkdir app/models/#{file_name}"
end

#create_base_modelObject



34
35
36
# File 'lib/generators/database/database_generator.rb', line 34

def create_base_model
  template "base_model.rb.erb", "app/models/#{file_name}/base.rb"
end

#create_config_fileObject



10
11
12
13
14
# File 'lib/generators/database/database_generator.rb', line 10

def create_config_file
  ["mysql", "pg", "sqlite"].include?(adapter) ? \
  template("#{adapter.to_s}_yml.rb.erb", "config/database_#{file_name}.yml") : \
  raise("Wrong DB adapter chosen, please refer to 'rails g database' for more info")
end

#create_rake_tasksObject



30
31
32
# File 'lib/generators/database/database_generator.rb', line 30

def create_rake_tasks
  template "rake_task.rb.erb", "lib/tasks/database_#{file_name}.rake"
end

#create_seeds_fileObject



26
27
28
# File 'lib/generators/database/database_generator.rb', line 26

def create_seeds_file
  template "seeds.rb.erb", "db_#{file_name}/seeds.rb"
end