Class: BaseBranch::InstallGenerator

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

Instance Method Summary collapse

Instance Method Details

#create_initializer_fileObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/generators/base_branch/install_generator.rb', line 8

def create_initializer_file
  db_name = options[:default_db]

  if !db_name || db_name.empty?
    say('What is the name of your default development database? (Leave blank if unchanged from database.yml)')
    db_name = ask('Database Name: ')
  end

  db_name = Rails.configuration.database_configuration['development']['database'] if db_name.empty?

  create_file 'config/base_branch.yml', "# This file is automatically generated from `rails g base_branch:initializer`\n\ndefault_db: '\#{db_name}'\n  YAML\n\n  database_yml = File.join(Rails.root, 'config', 'database.yml')\n  database_config = YAML::load_file(database_yml)\n  dev_database_name = database_config['development']['database']\n\n  database_yml_lines = IO.readlines(database_yml)\n  database_yml_lines = database_yml_lines\n                         .map{|s| s.gsub(dev_database_name, \"<%= defined?(BaseBranch) ? BaseBranch::Database::ActiveDatabase.database_name : '\#{dev_database_name}' %>\")}\n\n  File.open(database_yml, 'w') do |file|\n    file.puts database_yml_lines\n    file.close\n  end\n\n  append_to_file '.gitignore', <<-FILE\n\n# Do not check in base-branch files into SCM\n.base_branch.yml\n  FILE\nend\n"