summaryrefslogtreecommitdiff
path: root/fake-service/lib/smail/search/or_match.rb
diff options
context:
space:
mode:
authorOla Bini <ola.bini@gmail.com>2014-07-31 19:35:40 -0300
committerOla Bini <ola.bini@gmail.com>2014-07-31 19:35:40 -0300
commite54e5ee931b3991cbb5e427e7e5d27b3f6c75e6e (patch)
tree1e0da33d22874c0ea5576818fe45958611ebda29 /fake-service/lib/smail/search/or_match.rb
parent04cf441c5ae18400c6b4865b0b37a71718dc9d46 (diff)
Add fake-service
Diffstat (limited to 'fake-service/lib/smail/search/or_match.rb')
-rw-r--r--fake-service/lib/smail/search/or_match.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/fake-service/lib/smail/search/or_match.rb b/fake-service/lib/smail/search/or_match.rb
new file mode 100644
index 00000000..455923bf
--- /dev/null
+++ b/fake-service/lib/smail/search/or_match.rb
@@ -0,0 +1,25 @@
+module Smail
+ 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