class IterableRails::Delivery

Attributes

settings[RW]

Public Class Methods

new(settings) click to toggle source
# File lib/iterable_rails/delivery.rb, line 7
def initialize(settings)
  self.settings = settings
  configure_iterable_client
end

Public Instance Methods

deliver!(mail) click to toggle source
# File lib/iterable_rails/delivery.rb, line 12
def deliver!(mail)
  message = Message.new(mail)

  response = Iterable::Email.new.target(
    message.to_email_address,
    campaign_id,
    attachments: message.attachments,
    dataFields: message.data_fields,
    metadata: message.metadata
  )

  unless response.success?
    raise "Iterable API request failed: #{response.message}"
  end
end

Private Instance Methods

campaign_id() click to toggle source
# File lib/iterable_rails/delivery.rb, line 36
def campaign_id
  settings[:campaign_id]
end
configure_iterable_client() click to toggle source
# File lib/iterable_rails/delivery.rb, line 30
def configure_iterable_client
  Iterable.configure do |config|
    config.token = settings[:api_key]
  end
end