class File::Visitor::Filter::Mtime
Constants
- PASSED_COMPARATOR
Public Class Methods
new(*args)
click to toggle source
Two ways to initialize filter:
1) File::Visitor::Filter::Mtime.new( :younger_than, "2012-01-01") 2) File::Visitor::Filter::Mtime.new( :passed, 30, :days)
# File lib/file/visitor/filter/mtime.rb, line 19 def initialize(*args) comparator = args.shift target_time = nil # case 1) if PASSED_COMPARATOR.keys.include?(comparator) count = args.shift unit = args.shift target_time = Time.now - unitexp2sec(count, unit) comparator = PASSED_COMPARATOR[comparator] # case 2) else unless COMPARATOR.include?(comparator) raise ArgumentError, "comparator must be in " + COMPARATOR.join(", ") end target_time = args.shift if target_time.is_a?(String) target_time = Time.parse(target_time) end unless target_time.is_a?(Time) raise ArgumentError, "time must be a Time" end end @comparator = comparator @target_time = target_time end
Public Instance Methods
match?(path)
click to toggle source
# File lib/file/visitor/filter/mtime.rb, line 50 def match?(path) compare_time( File.mtime(path), @comparator, @target_time ) end