module RailsLogtruncate

Constants

VERSION

Public Instance Methods

truncate(logfile, quota, rails_env = 'production') click to toggle source
# File lib/rails_logtruncate.rb, line 7
def truncate(logfile, quota, rails_env = 'production')
  sanitized_quota = begin
                      sanitized_quota = Integer(quota)
                    rescue TypeError
                      0
                    end

  if perform_truncation?(logfile, sanitized_quota, rails_env)
    truncator.call(logfile)
  end
end
truncator() click to toggle source
# File lib/rails_logtruncate.rb, line 23
def truncator
  @truncator || RailsLogtruncate::Truncator.new
end
truncator=(obj) click to toggle source
# File lib/rails_logtruncate.rb, line 19
def truncator=(obj)
  @truncator = obj
end

Private Instance Methods

file_exceeds_quota?(file, quota) click to toggle source
# File lib/rails_logtruncate.rb, line 39
def file_exceeds_quota?(file, quota)
  File.size(file) > quota
end
perform_truncation?(file, quota, env) click to toggle source
# File lib/rails_logtruncate.rb, line 29
def perform_truncation?(file, quota, env)
  quota > 0 &&
    valid_env?(env.to_s) &&
    file_exceeds_quota?(file, quota)
end
valid_env?(env) click to toggle source
# File lib/rails_logtruncate.rb, line 35
def valid_env?(env)
  env == 'test' || env == 'development'
end