diff options
Diffstat (limited to 'lib/puppet/provider/cron/crontab.rb')
-rwxr-xr-x | lib/puppet/provider/cron/crontab.rb | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/lib/puppet/provider/cron/crontab.rb b/lib/puppet/provider/cron/crontab.rb index 28ef05974..6dee2e515 100755 --- a/lib/puppet/provider/cron/crontab.rb +++ b/lib/puppet/provider/cron/crontab.rb @@ -27,13 +27,18 @@ Puppet::Type.type(:cron).provide(:crontab, text_line :environment, :match => %r{^\w+=} - crontab = record_line :crontab, :fields => %w{special minute hour monthday month weekday command}, - :match => %r{^\s*(?:@(\w+)|(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+))\s+(.+)$}, - :optional => %w{special minute hour weekday month monthday}, :absent => "*" + record_line :freebsd_special, :fields => %w{special command}, + :match => %r{^@(\w+)\s+(.+)$}, :pre_gen => proc { |record| + record[:special] = "@" + record[:special] + } + + crontab = record_line :crontab, :fields => %w{minute hour monthday month weekday command}, + :match => %r{^\s*(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(.+)$}, + :optional => %w{minute hour weekday month monthday}, :absent => "*" class << crontab def numeric_fields - fields - [:command, :special] + fields - [:command] end # Do some post-processing of the parsed record. Basically just # split the numeric fields on ','. |