Sha256: 8836e0a576e919f64a3e245e8b8b22e7b29a0a3ca40d952ab0543c11c2775eb3
Contents?: true
Size: 1.37 KB
Versions: 7
Compression:
Stored size: 1.37 KB
Contents
gem 'mandrill-api', '~> 1.0.53' require 'mandrill' module MnoEnterprise module MailAdapters class MandrillAdapter < Adapter class << self # Return a mandrill client configured with the right API key def client @client ||= Mandrill::API.new(ENV['MANDRILL_API_KEY'] || MnoEnterprise.mandrill_key) end # Send a template # @see Adapter#deliver def deliver(template, from, to, vars={}, opts={}) # Prepare message from args message = { from_name: from[:name], from_email: from[:email]} message[:to] = [to].flatten.map { |t| {name: t[:name], email: t[:email], type: (t[:type] || :to) } } # Sanitize merge vars full_sanitizer = Rails::Html::FullSanitizer.new message[:global_merge_vars] = vars.map { |k,v| {name: k.to_s, content: full_sanitizer.sanitize(v)} } # Merge additional mandrill options message.merge!(opts) self.send_template(template,[],message) end # Send the provided template with options # MandrillClient.send_template(template_name(string), template_content(array), message(hash)) def send_template(*args) if self.test? self.base_deliveries.push(args) else self.client.messages.send_template(*args) end end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems