diff --git a/lib/uh/wm/env.rb b/lib/uh/wm/env.rb index 7a42b29..eab4fc3 100644 --- a/lib/uh/wm/env.rb +++ b/lib/uh/wm/env.rb @@ -10,7 +10,7 @@ module Uh def_delegator :@output, :print attr_reader :output - attr_accessor :verbose + attr_accessor :verbose, :debug def initialize output @output = output @@ -20,6 +20,10 @@ module Uh !!@verbose end + def debug? + !!@debug + end + def logger @logger ||= Logger.new(@output).tap do |o| o.level = verbose? ? LOGGER_LEVEL_VERBOSE : LOGGER_LEVEL diff --git a/spec/uh/wm/env_spec.rb b/spec/uh/wm/env_spec.rb index f9f1cfb..135f831 100644 --- a/spec/uh/wm/env_spec.rb +++ b/spec/uh/wm/env_spec.rb @@ -9,6 +9,10 @@ module Uh expect(env).not_to be_verbose end + it 'has debug mode disabled' do + expect(env).not_to be_debug + end + describe '#verbose?' do context 'when verbose mode is disabled' do before { env.verbose = false } @@ -27,6 +31,24 @@ module Uh end end + describe '#debug?' do + context 'when debug mode is disabled' do + before { env.debug = false } + + it 'returns false' do + expect(env.debug?).to be false + end + end + + context 'when debug mode is enabled' do + before { env.debug = true } + + it 'returns true' do + expect(env.debug?).to be true + end + end + end + describe '#logger' do it 'returns a logger' do expect(env.logger).to be_a Logger