diff options
Diffstat (limited to 'fake-service/lib/pixelated_service/search/or_match.rb')
-rw-r--r-- | fake-service/lib/pixelated_service/search/or_match.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/fake-service/lib/pixelated_service/search/or_match.rb b/fake-service/lib/pixelated_service/search/or_match.rb new file mode 100644 index 00000000..2c3e50ef --- /dev/null +++ b/fake-service/lib/pixelated_service/search/or_match.rb @@ -0,0 +1,25 @@ +module PixelatedService + class Search + class OrMatch + attr_reader :left, :right + def initialize(left, right) + @left = left + @right = right + end + def <<(node) + @right << node + end + def to_s + "Or(#@left, #@right)" + end + + def match?(mail) + [@left, @right].any? { |mm| mm.match?(mail) } + end + + def match_string?(str) + [@left, @right].any? { |mm| mm.match_string?(str) } + end + end + end +end |