From 0f1c00d1a6ae0f1c360d52d9803a9fc067768d2b Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Tue, 14 Jun 2022 07:35:58 -0400 Subject: [PATCH] Add RuleSet#could_be_empty? --- lib/propane/rule_set.rb | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/lib/propane/rule_set.rb b/lib/propane/rule_set.rb index 6013ba1..ebdbff9 100644 --- a/lib/propane/rule_set.rb +++ b/lib/propane/rule_set.rb @@ -2,17 +2,41 @@ class Propane class RuleSet + # @return [String] + # Name of the RuleSet. attr_reader :name + # @return [Array] + # Rules in the RuleSet. attr_reader :rules + # Construct a RuleSet. + # + # @param name [String] + # Name of the RuleSet. def initialize(name) @name = name @rules = [] + @could_be_empty = false end + # Add a Rule to the RuleSet. + # + # @param rule [Rule] + # Rule to add. def <<(rule) @rules << rule + if rule.empty? + @could_be_empty = true + end + end + + # Return whether any Rule in the RuleSet is empty. + # + # @return [Boolean] + # Whether any rule in the RuleSet is empty. + def could_be_empty? + @could_be_empty end end