class MailWorker
Public Instance Methods
perform(identifier, to_addr)
click to toggle source
# File lib/cutting_edge/workers/mail.rb, line 11 def perform(identifier, to_addr) log_info('Running Worker!') dependencies = get_from_store(identifier) unless to_addr && dependencies log_info("Failed to execute email job for #{identifier}: #{dependencies ? dependencies : 'No dependencies found.'} #{'No e-mail address set.' if to_addr.nil?}") return nil end if diff = delete_from_store("diff-#{identifier}") diff.transform_values! {|v| v == :good_change ? 'green' : 'red' } else diff = {} end Mail.deliver do from "CuttingEdge <#{CuttingEdge::MAIL_FROM}>" to to_addr subject "Dependency Status Changed For #{identifier}" text_part do body "Dependency Status Update For #{identifier} By CuttingEdge" end html_part do content_type 'text/html; charset=UTF-8' body ERB.new(CuttingEdge::MAIL_TEMPLATE).result_with_hash( project: identifier, url: CuttingEdge::SERVER_URL, diff: diff, specs: dependencies ) end end end