From cc66b6a7608a079e9eaaf11d2992ecc2611466bc Mon Sep 17 00:00:00 2001 From: Thibault Jouan Date: Tue, 21 Apr 2015 11:34:01 +0000 Subject: [PATCH] Accept code as block in ActionsHandler#evaluate --- lib/uh/wm/actions_handler.rb | 8 ++++++-- spec/uh/wm/actions_handler_spec.rb | 7 ++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/uh/wm/actions_handler.rb b/lib/uh/wm/actions_handler.rb index 5309f67..8b606f1 100644 --- a/lib/uh/wm/actions_handler.rb +++ b/lib/uh/wm/actions_handler.rb @@ -10,8 +10,12 @@ module Uh @env, @events = env, events end - def evaluate code - instance_eval &code + def evaluate code = nil, &block + if code + instance_exec &code + else + instance_exec &block + end end def quit diff --git a/spec/uh/wm/actions_handler_spec.rb b/spec/uh/wm/actions_handler_spec.rb index 7d74fcd..b3b4f1e 100644 --- a/spec/uh/wm/actions_handler_spec.rb +++ b/spec/uh/wm/actions_handler_spec.rb @@ -6,10 +6,15 @@ module Uh subject(:actions) { described_class.new env, events } describe '#evaluate' do - it 'evaluates given code' do + it 'evaluates code given as Proc argument' do expect { actions.evaluate proc { throw :action_code } } .to throw_symbol :action_code end + + it 'evaluates code given as block' do + expect { actions.evaluate { throw :action_code } } + .to throw_symbol :action_code + end end describe '#quit' do