From 95ec999bba0cd28439ece97233f8c2143d5ceb3d Mon Sep 17 00:00:00 2001 From: Michael Miller Date: Tue, 11 Sep 2018 12:54:47 -0600 Subject: [PATCH] Hide name of underlying let's block method This prevent's defining a bang version of the let value with the same name. --- src/spectator/dsl.cr | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/spectator/dsl.cr b/src/spectator/dsl.cr index 11765c6..8695ccd 100644 --- a/src/spectator/dsl.cr +++ b/src/spectator/dsl.cr @@ -86,17 +86,17 @@ module Spectator end macro let(name, &block) - let!({{name}}!) {{block}} + let!(%value) {{block}} module Locals @%wrapper : ValueWrapper? def {{name.id}} if (wrapper = @%wrapper) - wrapper.as(TypedValueWrapper(typeof({{name.id}}!))).value + wrapper.as(TypedValueWrapper(typeof(%value))).value else - {{name.id}}!.tap do |value| - @%wrapper = TypedValueWrapper(typeof({{name.id}}!)).new(value) + %value.tap do |value| + @%wrapper = TypedValueWrapper(typeof(%value)).new(value) end end end