summaryrefslogtreecommitdiffstats
path: root/lib/puppet/provider/cron/crontab.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/provider/cron/crontab.rb')
-rwxr-xr-xlib/puppet/provider/cron/crontab.rb13
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 ','.