From 578541a02b85d622f06637b29e2a6f8e32515994 Mon Sep 17 00:00:00 2001 From: elijah Date: Mon, 29 Jul 2013 13:39:15 -0700 Subject: added assert() macro. if failed, spits out this on compile: = FAILED assertion while evaluating node 'worm' - assertion: services.include? 'couchdb' - offending key: require_couchdb = bailing out --- lib/leap_cli/config/macros.rb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'lib/leap_cli/config/macros.rb') diff --git a/lib/leap_cli/config/macros.rb b/lib/leap_cli/config/macros.rb index f46799c..b5f6a34 100644 --- a/lib/leap_cli/config/macros.rb +++ b/lib/leap_cli/config/macros.rb @@ -335,5 +335,27 @@ module LeapCli; module Config entries.join("\n") end + ## + ## UTILITY + ## + + class AssertionFailed < Exception + attr_accessor :assertion + def initialize(assertion) + @assertion = assertion + end + def to_s + @assertion + end + end + + def assert(assertion) + if instance_eval(assertion) + true + else + raise AssertionFailed.new(assertion) + end + end + end end; end -- cgit v1.2.3