From b1d70453cf207b8049e09c36c4df66492a586b05 Mon Sep 17 00:00:00 2001 From: Michael Miller Date: Tue, 28 Aug 2018 16:37:28 -0600 Subject: [PATCH] Implement #let! --- src/spectator/dsl.cr | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/spectator/dsl.cr b/src/spectator/dsl.cr index 7e2e842..e8b8063 100644 --- a/src/spectator/dsl.cr +++ b/src/spectator/dsl.cr @@ -45,6 +45,8 @@ module Spectator end macro let(name, &block) + let!({{name}}!) {{block}} + module Context @_%proxy : ValueProxy? @@ -57,15 +59,15 @@ module Spectator end end end - - def {{name.id}}! - {{block.body}} - end end end - def let! - raise NotImplementedError.new("Spectator::DSL#let!") + macro let!(name, &block) + module Context + def {{name.id}} + {{block.body}} + end + end end macro is_expected