Method: Puppet::DataSync#date_matches?

Defined in:
lib/puppet/type/file/data_sync.rb

#date_matches?(checksum_type, current, desired) ⇒ Boolean

Returns:

  • (Boolean)


60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/puppet/type/file/data_sync.rb', line 60

def date_matches?(checksum_type, current, desired)
  time_types = [:mtime, :ctime]
  return false if !time_types.include?(checksum_type)
  return false unless current && desired

  begin
    if checksum?(current) || checksum?(desired)
      raise if !time_types.include?(sumtype(current).to_sym) || !time_types.include?(sumtype(desired).to_sym)
      current = sumdata(current)
      desired = sumdata(desired)
    end
    DateTime.parse(current) >= DateTime.parse(desired)
  rescue => detail
    self.fail Puppet::Error, "Resource with checksum_type #{checksum_type} didn't contain a date in #{current} or #{desired}", detail.backtrace
  end
end