Sha256: b1c06435a2d3c59763d935f78f2879434651ac077f6919592f326841d7da4be7

Contents?: true

Size: 1.29 KB

Versions: 1

Compression:

Stored size: 1.29 KB

Contents

require 'action_mailer'
require 'action_mailer/version'

# Loading PostageApp::Mailer class depending on what action_mailer is
# currently installed on the system. Assuming we're dealing only with
# ones that come with Rails 2 and 3
if ActionMailer::VERSION::MAJOR >= 3
  require File.expand_path('../mailer/mailer_3', __FILE__)
else
  require File.expand_path('../mailer/mailer_2', __FILE__)
end

# General helper methods for Request object to act more like TMail::Mail
# of Mail for testing
class PostageApp::Request
  
  # Getter and setter for headers. You can specify headers in the following
  # formats:
  #   headers['Custom-Header'] = 'Custom Value'
  #   headers 'Custom-Header-1' => 'Custom Value 1',
  #           'Custom-Header-2' => 'Custom Value 2'
  def headers(value = nil)
    self.arguments['headers'] ||= { }
    if value && value.is_a?(Hash)
      value.each do |k, v|
        self.arguments['headers'][k.to_s] = v.to_s
      end
    end
    self.arguments['headers']
  end
  
  def to
    self.arguments_to_send.dig('arguments', 'recipients')
  end
  
  def from
    self.arguments_to_send.dig('arguments', 'headers', 'from')
  end
  
  def subject
    self.arguments_to_send.dig('arguments', 'headers', 'subject')
  end
  
  def body
    self.arguments_to_send.dig('arguments', 'content')
  end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
postageapp-1.0.0 lib/postageapp/mailer.rb