class Object
Public Instance Methods
drop(env_name)
click to toggle source
# File lib/tasks/rake_multi_db.rb, line 68 def drop(env_name) puts "Dropping #{env_name.capitalize} Database" execute_command("rake db:drop RAILS_ENV=#{env_name}") end
execute_command(command)
click to toggle source
# File lib/tasks/rake_multi_db.rb, line 92 def execute_command(command) Open3::popen3(command) do |stdin, stdout, stderr| out_text = stdout.gets error_text = stderr.gets unless error_text.nil? puts "Error: #{error_text}" prompt_user 'An error occurred. Would you like to continue?' end unless out_text.nil? puts out_text end end end
migrate(env_name)
click to toggle source
# File lib/tasks/rake_multi_db.rb, line 74 def migrate(env_name) puts "Migrating #{env_name.capitalize} Database" execute_command("rake db:migrate RAILS_ENV=#{env_name}") end
prompt_user(message)
click to toggle source
Helper methods #
# File lib/tasks/rake_multi_db.rb, line 45 def prompt_user(message) # Don't show a message, if the force param was passed force = ENV['force'].nil? ? false : ENV['force'] return true if force puts "#{message} (y|n|yes|no)" # parse the response resp = STDIN.gets.strip case resp.downcase when 'yes', 'y' return true when 'no', 'n' puts 'Aborting...' exit 0 else # Re-prompt the user return prompt_user message end end
reset(env_name)
click to toggle source
# File lib/tasks/rake_multi_db.rb, line 80 def reset(env_name) puts "Resetting #{env_name.capitalize} Database" execute_command("rake db:reset RAILS_ENV=#{env_name}") end
seed(env_name)
click to toggle source
# File lib/tasks/rake_multi_db.rb, line 86 def seed(env_name) puts "Seeding #{env_name.capitalize} Database" execute_command("rake db:seed RAILS_ENV=#{env_name}") end