crontab モジュールで warning
を require したら怒られた。
warning: parenthesize argument(s) for future version
引数を与えるなら ( ) を書きましょう、ということらしい。
cf. [ruby-dev:17868] Re: parenthesize argument(s) for future version
@@ -111,7 +111,7 @@
def add(str, job = nil)
job = proc if iterator?
- @table.push((parse_timedate(str) << job).extend CronRecord)
+ @table.push((parse_timedate(str) << job).extend( CronRecord ))
end
attr_reader :table
@@ -173,9 +173,9 @@
elsif l.nil?
f.to_i .. f.to_i
elsif f.to_i < first
- raise FormatError.new "out of range (#{f} for #{first})"
+ raise FormatError.new( "out of range (#{f} for #{first})" )
elsif last < l.to_i
- raise FormatError.new "out of range (#{l} for #{last})"
+ raise FormatError.new( "out of range (#{l} for #{last})" )
else
f.to_i .. l.to_i
end
こんな感じですか。よく分かってないけど、警告は出なくなった。使ってみるのはこれからです。
……。
おっと。これ、環境変数を定義している行を無視できてないな。(MAILTO = とか使いませんか。)
@@ -136,7 +136,8 @@
def parse(str)
res = []
str.each{|line|
next if /(\A#)|(\A\s*\Z)/ =~ line
+ next if /(?:\S+\s+){5}(.*)/ !~ line
res.push(parse_timedate(line).
push(line.scan(/(?:\S+\s+){5}(.*)/).shift[-1]))
}
こういうことですか。なんか二度手間っちゃ二度手間なんだけど、いきなり res.push しちゃってるからしょうがないか。parse_timedate() が解釈に失敗したときに false を返すとかすればいいのかしらん。