class Tolliver::Services::Methods::Email
Public Instance Methods
deliver(notification_receiver)
click to toggle source
# File lib/tolliver/services/methods/email.rb, line 34 def deliver(notification_receiver) return false if provider.nil? # Prepare notification notification = notification_receiver.notification_delivery.notification # Send email begin provider.deliver(notification, notification_receiver) notification_receiver.status = 'sent' #rescue Net::SMTPFatalError, Net::SMTPSyntaxError rescue StandardError => e notification_receiver.status = 'error' notification_receiver.error_message = e.message end # Mark as sent notification_receiver.sent_at = Time.current # Save notification_receiver.save true end
is_notification_delivery_valid?(notification_delivery)
click to toggle source
# File lib/tolliver/services/methods/email.rb, line 23 def is_notification_delivery_valid?(notification_delivery) return false if !notification_delivery.sender_email.blank? && !(notification_delivery.sender_email =~ URI::MailTo::EMAIL_REGEXP) true end
is_notification_receiver_valid?(notification_receiver)
click to toggle source
# File lib/tolliver/services/methods/email.rb, line 28 def is_notification_receiver_valid?(notification_receiver) return false if notification_receiver.receiver_email.blank? return false unless notification_receiver.receiver_email =~ URI::MailTo::EMAIL_REGEXP true end
is_notification_valid?(notification)
click to toggle source
# File lib/tolliver/services/methods/email.rb, line 17 def is_notification_valid?(notification) return false if notification.subject.blank? return false if notification.message.blank? true end
Protected Instance Methods
provider()
click to toggle source
# File lib/tolliver/services/methods/email.rb, line 61 def provider if @provider.nil? && Tolliver.email_provider provider_class_name = "Tolliver::Services::Methods::Email::#{Tolliver.email_provider.to_s.camelize}" @provider = provider_class_name.constantize.new(Tolliver.email_provider_params) end @provider end