Sha256: ebf88d4bd4ed45836e8167f6ad6630107ba2b1498c7b608c9dc37310525c5626

Contents?: true

Size: 1.32 KB

Versions: 10

Compression:

Stored size: 1.32 KB

Contents

# -*- coding: utf-8 -*-
require 'jpmobile/mail'
require 'jpmobile/lookup_context'

Jpmobile::Email.japanese_mail_address_regexp = Regexp.new(/\.jp(?:[^a-zA-Z\.\-]|$)/)

module Jpmobile
  module Mailer
    class Base < ActionMailer::Base
      self._view_paths = self._view_paths.dup
      self.view_paths.unshift(Jpmobile::Resolver.new(File.join(::Rails.root, "app/views")))

      def mail(headers={}, &block)
        tos = headers[:to] || self.default_params[:to]
        tos = tos.split(/,/)

        @mobile = if tos.size == 1
                    # for mobile
                    (Jpmobile::Email.detect(tos.first) || Jpmobile::Mobile::AbstractMobile).new(nil, nil)
                  else
                    # for multi to addresses
                    Jpmobile::Mobile::AbstractMobile.new(nil, nil)
                  end
        self.lookup_context.mobile = @mobile.mail_variants

        @mobile.decorated = headers.delete(:decorated)

        m = super(headers, &block)

        m.mobile  = @mobile

        # for decorated-mail manipulation
        m.rearrange! if @mobile.decorated?

        m
      end

      class << self
        protected
        def set_payload_for_mail(payload, mail) #:nodoc:
          super

          payload[:mail] = Jpmobile::Util.ascii_8bit(mail.encoded).gsub(/\r\n/, "\n")
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
jpmobile-4.2.5 lib/jpmobile/mailer.rb
jpmobile-4.2.4 lib/jpmobile/mailer.rb
jpmobile-5.0.0 lib/jpmobile/mailer.rb
jpmobile-5.0.0.beta3 lib/jpmobile/mailer.rb
jpmobile-5.0.0.beta2 lib/jpmobile/mailer.rb
jpmobile-4.2.3 lib/jpmobile/mailer.rb
jpmobile-4.2.2 lib/jpmobile/mailer.rb
jpmobile-4.2.1 lib/jpmobile/mailer.rb
jpmobile-5.0.0.beta1 lib/jpmobile/mailer.rb
jpmobile-4.2.0 lib/jpmobile/mailer.rb