From 0d0eac111cbd5eab490eee4e9634359a7300e3b3 Mon Sep 17 00:00:00 2001 From: Thibault Jouan Date: Thu, 9 Apr 2015 10:46:02 +0000 Subject: [PATCH] Implement verbose status in Env --- lib/uh/wm/env.rb | 7 ++++++- spec/uh/wm/env_spec.rb | 22 ++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/lib/uh/wm/env.rb b/lib/uh/wm/env.rb index 43a1a64..539253c 100644 --- a/lib/uh/wm/env.rb +++ b/lib/uh/wm/env.rb @@ -5,12 +5,17 @@ module Uh def_delegator :@logger, :info, :log def_delegator :@output, :print - attr_reader :output, :logger + attr_reader :output, :logger + attr_accessor :verbose def initialize output, logger: Logger.new(output) @output = output @logger = logger end + + def verbose? + !!@verbose + end end end end diff --git a/spec/uh/wm/env_spec.rb b/spec/uh/wm/env_spec.rb index 7514ef8..777c3f8 100644 --- a/spec/uh/wm/env_spec.rb +++ b/spec/uh/wm/env_spec.rb @@ -5,6 +5,28 @@ module Uh let(:logger) { Logger.new(StringIO.new) } subject(:env) { described_class.new output, logger: logger } + it 'has verbose mode disabled' do + expect(env).not_to be_verbose + end + + describe '#verbose?' do + context 'when verbose mode is disabled' do + before { env.verbose = false } + + it 'returns false' do + expect(env.verbose?).to be false + end + end + + context 'when verbose mode is enabled' do + before { env.verbose = true } + + it 'returns true' do + expect(env.verbose?).to be true + end + end + end + describe '#logger' do it 'returns a logger' do expect(env.logger).to be_a ::Logger