summaryrefslogtreecommitdiff
path: root/lib/nickserver/request_handlers/local_email_handler.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/nickserver/request_handlers/local_email_handler.rb')
-rw-r--r--lib/nickserver/request_handlers/local_email_handler.rb20
1 files changed, 12 insertions, 8 deletions
diff --git a/lib/nickserver/request_handlers/local_email_handler.rb b/lib/nickserver/request_handlers/local_email_handler.rb
index 9e8ed48..9165ef2 100644
--- a/lib/nickserver/request_handlers/local_email_handler.rb
+++ b/lib/nickserver/request_handlers/local_email_handler.rb
@@ -1,21 +1,25 @@
+require 'nickserver/request_handlers/base'
require 'nickserver/email_address'
-require 'nickserver/error_response'
require 'nickserver/couch_db/source'
module Nickserver
module RequestHandlers
- class LocalEmailHandler
+ class LocalEmailHandler < Base
- def call(request)
- return nil unless request.email
- domain = Config.domain || request.domain
- email = EmailAddress.new(request.email)
- return nil unless email.domain?(domain)
- source.query email
+ def handle
+ source.query(email) if request.email && email.domain?(domain)
end
protected
+ def domain
+ Config.domain || request.domain
+ end
+
+ def email
+ @email ||= EmailAddress.new(request.email)
+ end
+
def source
Nickserver::CouchDB::Source.new
end