aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2018-12-06 13:27:45 -0800
committerDavid Heinemeier Hansson <david@loudthinking.com>2018-12-06 13:27:45 -0800
commita1d449e061d163fc0f6cb8c966d9ebf70923b665 (patch)
treee00f20fb882d68523816a38335bf9faff8ca88ea /lib
parent70c87ea7709ad550c1feaaf7d3831e85d52c032f (diff)
downloadrails-a1d449e061d163fc0f6cb8c966d9ebf70923b665.tar.gz
rails-a1d449e061d163fc0f6cb8c966d9ebf70923b665.tar.bz2
rails-a1d449e061d163fc0f6cb8c966d9ebf70923b665.zip
Add a :all catch-all route
Diffstat (limited to 'lib')
-rw-r--r--lib/action_mailbox/router/route.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/action_mailbox/router/route.rb b/lib/action_mailbox/router/route.rb
index 24be8d4804..5254043a67 100644
--- a/lib/action_mailbox/router/route.rb
+++ b/lib/action_mailbox/router/route.rb
@@ -9,6 +9,8 @@ class ActionMailbox::Router::Route
def match?(inbound_email)
case address
+ when :all
+ true
when String
inbound_email.mail.recipients.any? { |recipient| address.casecmp?(recipient) }
when Regexp
@@ -26,8 +28,8 @@ class ActionMailbox::Router::Route
private
def ensure_valid_address
- unless [ String, Regexp, Proc ].any? { |klass| address.is_a?(klass) } || address.respond_to?(:match?)
- raise ArgumentError, "Expected a String, Regexp, Proc, or matchable, got #{address.inspect}"
+ unless [ Symbol, String, Regexp, Proc ].any? { |klass| address.is_a?(klass) } || address.respond_to?(:match?)
+ raise ArgumentError, "Expected a Symbol, String, Regexp, Proc, or matchable, got #{address.inspect}"
end
end
end