Sha256: 73a8b08bc10a42c44b7efa2d15c1d1e0a1b39522b8d43a7d19092c2b56558218

Contents?: true

Size: 755 Bytes

Versions: 3

Compression:

Stored size: 755 Bytes

Contents

# frozen_string_literal: true

require 'thredded/email_transformer/onebox'
require 'thredded/email_transformer/spoiler'

module Thredded
  # This transformer should applied to emails so that they render correctly in the email clients.
  #
  # For example, if you use roadie, you can configure it to use the transformer in the initializer:
  #
  #     # config/initializers/roadie.rb
  #     Rails.application.config.roadie.before_transformation = Thredded::EmailTransformer
  #
  module EmailTransformer
    class << self
      attr_accessor :transformers
    end
    @transformers = [Onebox, Spoiler]

    # @param dom [Nokogiri::HTML::Document]
    def self.call(doc, *)
      transformers.each { |transformer| transformer.call(doc) }
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
thredded-1.1.0 lib/thredded/email_transformer.rb
thredded-1.0.1 lib/thredded/email_transformer.rb
thredded-1.0.0 lib/thredded/email_transformer.rb