class DoctorStrange::Providers::Email

Private Class Methods

configuration_class() click to toggle source
# File lib/doctor_strange/providers/email.rb, line 22
def configuration_class
  ::DoctorStrange::Providers::Email::Configuration
end

Public Instance Methods

check!() click to toggle source
# File lib/doctor_strange/providers/email.rb, line 27
def check!
  check_required_values!
  check_communication!
rescue StandardError => e
  raise EmailException, e.message
end

Private Instance Methods

check_communication!() click to toggle source
# File lib/doctor_strange/providers/email.rb, line 40
def check_communication!
  mg_client = Mailgun::Client.new(configuration.api_key)
  domainer = Mailgun::Domains.new(mg_client)
  domainer.list.pluck("name").include? configuration.domain
rescue Mailgun::CommunicationError
  raise "Cannot communicate to Mailgun"
end
check_required_values!() click to toggle source
# File lib/doctor_strange/providers/email.rb, line 36
def check_required_values!
  raise "The api_key and domain are required" if configuration.api_key.empty? || configuration.domain.empty?
end