Sha256: bb00b0af135bebf0b3aa7dcb955fd13245dfae725983df7bc29e29966f5d6c2c
Contents?: true
Size: 1.53 KB
Versions: 135
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
135 entries across 135 versions & 4 rubygems