Created rake restart task.

Fixes #18876. Rake restart touches `tmp/restart.txt` to restart
application on next request. Updated tests and documentation
accordingly.
This commit is contained in:
Hyonjee Joo 2015-02-17 01:11:16 -05:00
parent 38218929e9
commit b181297ad7
4 changed files with 43 additions and 0 deletions

View File

@ -1,3 +1,10 @@
* Created rake restart task. Restarts your Rails app by touching the
`tmp/restart.txt`.
Fixes #18876.
*Hyonjee Joo*
* Set Rails console to use log formatter and log level as specified for the
given environment.

View File

@ -7,6 +7,7 @@ require 'rake'
log
middleware
misc
restart
routes
statistics
tmp

View File

@ -0,0 +1,4 @@
desc "Restart app by touching tmp/restart.txt"
task restart: :environment do
FileUtils.touch('tmp/restart.txt')
end

View File

@ -0,0 +1,31 @@
require "isolation/abstract_unit"
module ApplicationTests
module RakeTests
class RakeRestartTest < ActiveSupport::TestCase
include ActiveSupport::Testing::Isolation
def setup
build_app
boot_rails
end
def teardown
teardown_app
end
test 'rake restart touches tmp/restart.txt' do
Dir.chdir(app_path) do
`rake restart`
assert File.exist?("tmp/restart.txt")
prev_mtime = File.mtime("tmp/restart.txt")
sleep(1)
`rake restart`
curr_mtime = File.mtime("tmp/restart.txt")
assert_not_equal prev_mtime, curr_mtime
end
end
end
end
end