class CircuitRails::DeliveryMethod

Constants

DEFAULTS

Attributes

settings[RW]

Public Class Methods

new(values) click to toggle source
# File lib/circuit_rails/delivery_method.rb, line 17
def initialize(values)
  self.settings = DEFAULTS.merge(values)
end

Public Instance Methods

client() click to toggle source
# File lib/circuit_rails/delivery_method.rb, line 21
def client
  @client ||= CircuitClient::Client.new do |c|
    c.host = settings[:host]
    c.client_id = settings[:client_id]
    c.client_secret = settings[:client_secret]
    c.auth_scope = settings[:auth_scope]
  end
end
deliver!(mail) click to toggle source
# File lib/circuit_rails/delivery_method.rb, line 30
def deliver!(mail)
  conv = mail.conversation || settings[:default_conversation]
  raise MissingParameter, 'a conversation or default_conversation is required for circuit delivery!' if conv.nil?
  body = mail.multipart? ? mail.text_part.body.decoded : mail.body.decoded
  options = {}
  options[:subject] = mail.subject unless mail.subject.nil?
  client.create_message(conv, body, **options)
end