From b22e23eb9f5a1cb3e37ab2a26b1091183574f4e4 Mon Sep 17 00:00:00 2001 From: Azul Date: Tue, 30 Aug 2016 12:10:57 +0200 Subject: refactor: make the RequestHandler classes callable Whenever a RequestHandler class is called we instantiate it with the request. Then we call handle on the instance. This way we can access the request and its content via accessors rather than only in the handle method. --- lib/nickserver/request_handlers/invalid_email_handler.rb | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'lib/nickserver/request_handlers/invalid_email_handler.rb') diff --git a/lib/nickserver/request_handlers/invalid_email_handler.rb b/lib/nickserver/request_handlers/invalid_email_handler.rb index eaf8156..bb98f65 100644 --- a/lib/nickserver/request_handlers/invalid_email_handler.rb +++ b/lib/nickserver/request_handlers/invalid_email_handler.rb @@ -1,15 +1,21 @@ +require 'nickserver/request_handlers/base' require 'nickserver/email_address' require 'nickserver/error_response' module Nickserver module RequestHandlers - class InvalidEmailHandler - def call(request) + class InvalidEmailHandler < Base + + def handle return unless request.email - email = EmailAddress.new(request.email) ErrorResponse.new("Not a valid address") if email.invalid? end + protected + + def email + @email ||= EmailAddress.new(request.email) + end end end end -- cgit v1.2.3