1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/railties/lib/rails/rack/log_tailer.rb
Rafael Mendonça França 84a13e019e Deprecate Rails::Rack::LogTailer
It was being used by Rails for show the development logs but since Rails
4 it is not being used anymore on the framework.

This class seems to be private but it were part of the public API we are
deprecating before removing.
2014-06-17 22:48:28 -03:00

38 lines
839 B
Ruby

require 'active_support/deprecation'
module Rails
module Rack
class LogTailer
def initialize(app, log = nil)
ActiveSupport::Deprecation.warn "LogTailer is deprecated and will be removed on Rails 5"
@app = app
path = Pathname.new(log || "#{::File.expand_path(Rails.root)}/log/#{Rails.env}.log").cleanpath
@cursor = @file = nil
if ::File.exist?(path)
@cursor = ::File.size(path)
@file = ::File.open(path, 'r')
end
end
def call(env)
response = @app.call(env)
tail!
response
end
def tail!
return unless @cursor
@file.seek @cursor
unless @file.eof?
contents = @file.read
@cursor = @file.tell
$stdout.print contents
end
end
end
end
end