Sha256: 8dc17e31730b1a36ec0e09a37eb7857b126e5db5744310dca9667e40e5dfb0cb
Contents?: true
Size: 953 Bytes
Versions: 1
Compression:
Stored size: 953 Bytes
Contents
require_relative "./condition_pack" require_relative "./condition_creator" module Kanal module Core module Conditions # This class helps in condition pack creation # with the help of dsl class ConditionPackCreator TEMP_NAME = :temp_name def initialize(name) @name = name @conditions = [] end def create(&block) instance_eval(&block) raise "Please provide condition pack name" unless @name raise "Please provide conditions for condition pack #{@name}" if @conditions.empty? pack = ConditionPack.new(@name) @conditions.each do |c| pack.register_condition c end pack end def add_condition(name, &block) creator = ConditionCreator.new name condition = creator.create(&block) @conditions.append condition end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
kanal-0.3.0 | lib/kanal/core/conditions/condition_pack_creator.rb |