Sha256: 79e4342761a7944a4c59f5d347c90198d0b4b235ccf34d5e3a3d05f5b4ac9000
Contents?: true
Size: 665 Bytes
Versions: 1
Compression:
Stored size: 665 Bytes
Contents
module Blueprints class Plan < Buildable def initialize(name, &block) super(name) @block = block end def build_plan surface_errors do if @block @result = Namespace.root.context.module_eval(&@block) Namespace.root.add_variable(@name, @result) end end unless Namespace.root.executed_plans.include?(@name) Namespace.root.executed_plans << @name @result end private def surface_errors yield rescue StandardError => error puts "\n=> There was an error building scenario '#{@name}'", error.inspect, '', error.backtrace raise error end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
blueprints-0.3.0 | lib/blueprints/plan.rb |