class EmailApi

Main class of Email API Project

Public Instance Methods

handle_api(api_params) click to toggle source

Handle request received through API

# File lib/email_api.rb, line 30
def handle_api(api_params)
  return nil if !api_params.respond_to?(:[]) && !api_params.is_a?(Hash)
  from      = api_params['from']
  to        = api_params['to']
  cc        = api_params['cc']
  bcc       = api_params['bcc']
  subject   = api_params['subject']
  content   = api_params['content']
  email_obj = ApiParser.parse_email(from, to, cc, bcc, subject, content)
  EmailClient.send_email(email_obj)
rescue StandardError => e
  puts "Error: #{e.class}: #{e.message}"
  response = ClientResponse.new
  response.set_internal_err
  response
end