From fad2428e357f5e88e745aa402e21cdfcb700fbc0 Mon Sep 17 00:00:00 2001 From: Blake Mesdag Date: Tue, 12 Apr 2016 13:29:56 -0400 Subject: More readable version --- .../lib/active_support/file_update_checker.rb | 23 ++++++++++------------ 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'activesupport/lib') diff --git a/activesupport/lib/active_support/file_update_checker.rb b/activesupport/lib/active_support/file_update_checker.rb index d1eb410c85..2a1a8f9797 100644 --- a/activesupport/lib/active_support/file_update_checker.rb +++ b/activesupport/lib/active_support/file_update_checker.rb @@ -114,30 +114,27 @@ module ActiveSupport return nil if paths.empty? time_now = Time.now - max_time = nil + max_mtime = nil paths.each do |path| - time = File.mtime(path) + mtime = File.mtime(path) - if max_time.nil? - if time.compare_without_coercion(time_now) < 0 - max_time = time - end - - next - end + # Prevent dates in the future being considered + # Equivalent ruby: + # time.now < mtime + next if time_now.compare_without_coercion(mtime) < 0 # This avoids ActiveSupport::CoreExt::Time#time_with_coercion # which is super slow when comparing two Time objects # # Equivalent Ruby: - # time < time_now && time > max_time - if time.compare_without_coercion(time_now) < 0 && time.compare_without_coercion(max_time) > 0 - max_time = time + # max_mtime.nil? || max_mtime < mtime + if max_mtime.nil? || max_mtime.compare_without_coercion(mtime) < 0 + max_mtime = mtime end end - max_time + max_mtime end def compile_glob(hash) -- cgit v1.2.3