From 0ead66f62610441c39bb70cbd9d86936110c8f03 Mon Sep 17 00:00:00 2001 From: Dzmitry Plashchynski Date: Tue, 3 Mar 2015 19:01:33 +0200 Subject: [PATCH] Add logfile option --- lib/crono/cli.rb | 6 +++++- lib/crono/config.rb | 5 ++++- lib/crono/logging.rb | 2 ++ spec/cli_spec.rb | 5 +++++ 4 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 lib/crono/logging.rb diff --git a/lib/crono/cli.rb b/lib/crono/cli.rb index 78bc4e7..1e35d38 100644 --- a/lib/crono/cli.rb +++ b/lib/crono/cli.rb @@ -42,9 +42,13 @@ module Crono OptionParser.new do |opts| opts.banner = "Usage: crono [options]" - opts.on("-c", "--cronotab cronotab.rb", "Cronotab file (Default: #{Crono.config.cronotab})") do |cronotab| + opts.on("-C", "--cronotab PATH", "Path to cronotab file (Default: #{Crono.config.cronotab})") do |cronotab| Crono.config.cronotab = cronotab end + + opts.on("-L", "--logfile PATH", "Path to writable logfile (Default: #{Crono.config.logfile})") do |logfile| + Crono.config.logfile = logfile + end end.parse!(argv) end end diff --git a/lib/crono/config.rb b/lib/crono/config.rb index eb583ac..76564b4 100644 --- a/lib/crono/config.rb +++ b/lib/crono/config.rb @@ -1,14 +1,17 @@ module Crono class Config - CRONOTAB = "config/cronotab.rb" include Singleton + CRONOTAB = "config/cronotab.rb" + LOGFILE = "log/crono.rb" attr_accessor :schedule attr_accessor :cronotab + attr_accessor :logfile def initialize self.schedule = Schedule.new self.cronotab = CRONOTAB + self.logfile = LOGFILE end end diff --git a/lib/crono/logging.rb b/lib/crono/logging.rb new file mode 100644 index 0000000..987a0f8 --- /dev/null +++ b/lib/crono/logging.rb @@ -0,0 +1,2 @@ +module Crono +end diff --git a/spec/cli_spec.rb b/spec/cli_spec.rb index 8162603..f36f810 100644 --- a/spec/cli_spec.rb +++ b/spec/cli_spec.rb @@ -33,5 +33,10 @@ describe Crono::CLI do cli.send(:parse_options, ["--cronotab", "/tmp/cronotab.rb"]) expect(Crono.config.cronotab).to be_eql "/tmp/cronotab.rb" end + + it "should set logfile" do + cli.send(:parse_options, ["--logfile", "log/crono.log"]) + expect(Crono.config.logfile).to be_eql "log/crono.log" + end end end