Sha256: a3f389b0ac95aac0bf30143736099f3deffafd8fe701c561f107b1cecbdf9de1

Contents?: true

Size: 1.53 KB

Versions: 25

Compression:

Stored size: 1.53 KB

Contents

class Jets::Turbo
  class DatabaseYaml
    def reconfigure
      current_yaml = "#{Jets.root}rack/config/database.yml"
      return unless File.exist?(current_yaml)

      vars = {}
      current_database = YAML.load_file(current_yaml)
      database_names = infer_database_name(current_database)
      vars.merge!(database_names)
      vars['adapter'] = current_database['development']['adapter']

      path = File.expand_path("templates/config/database.yml", File.dirname(__FILE__))
      content = Jets::Erb.result(path, vars)
      IO.write(current_yaml, content)
      # puts "Reconfigured #{current_yaml}" # uncomment to inspect and debug
    rescue Exception => e
      puts "WARNING: Was not able to generate a database.yml. Leaving your current one in place"
      puts e.message
      # If unable to copy the database.yml settings just slightly fail.
      # Do this because really unsure what is in the current database.yml
    end

    def infer_database_name(current_database)
      vars = {}
      %w[development test production].each do |env|
        if !current_database[env]['database'].include?('<%') # already has ERB
          vars["database_#{env}"] = current_database[env]['database']
        else
          lines = IO.readlines("#{Jets.root}rack/config/application.rb")
          module_line = lines.find { |l| l =~ /^module / }
          app_module = module_line.gsub(/^module /,'').strip
          app_name = app_module.underscore
          vars["database_#{env}"] = "#{app_name}_#{env}"
        end
      end

      vars
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
jets-1.6.1 lib/jets/turbo/database_yaml.rb
jets-1.6.0 lib/jets/turbo/database_yaml.rb
jets-1.5.10 lib/jets/turbo/database_yaml.rb
jets-1.5.9 lib/jets/turbo/database_yaml.rb
jets-1.5.8 lib/jets/turbo/database_yaml.rb
jets-1.5.7 lib/jets/turbo/database_yaml.rb
jets-1.5.6 lib/jets/turbo/database_yaml.rb
jets-1.5.5 lib/jets/turbo/database_yaml.rb
jets-1.5.4 lib/jets/turbo/database_yaml.rb
jets-1.5.3 lib/jets/turbo/database_yaml.rb
jets-1.5.2 lib/jets/turbo/database_yaml.rb
jets-1.5.1 lib/jets/turbo/database_yaml.rb
jets-1.5.0 lib/jets/turbo/database_yaml.rb
jets-1.4.11 lib/jets/turbo/database_yaml.rb
jets-1.4.10 lib/jets/turbo/database_yaml.rb
jets-1.4.9 lib/jets/turbo/database_yaml.rb
jets-1.4.8 lib/jets/turbo/database_yaml.rb
jets-1.4.7 lib/jets/turbo/database_yaml.rb
jets-1.4.6 lib/jets/turbo/database_yaml.rb
jets-1.4.5 lib/jets/turbo/database_yaml.rb