Sha256: 86abc02d5b8ba53a48968f018d84ab36d464fbe09625414747e505840eb02df1

Contents?: true

Size: 1.07 KB

Versions: 21

Compression:

Stored size: 1.07 KB

Contents

module RailsConnector
  module FopOnRails
    module Document # :nodoc: all
      module Images
        def self.absolutize_src_attrs(xml, url)
          @url = URI.parse(url)
          xml.elements.each('//img') do |img|
            url = URI.parse(img.attributes['src'])
            unless (url.host == @url.host)
              url = @url.merge(url)
            end
            img.attributes['src'] = url.to_s
          end
          xml
        end

        def self.dump_images(xml)
          xml.elements.each('//img') do |img|
            unless URI.parse(src = img.attributes['src']).absolute?
              if relative_url_root = ActionController::Base.config.relative_url_root
                src.sub!(/\A#{relative_url_root}/i, '')
              end
              params = Rails.application.routes.recognize_path(src)
              if params[:controller] == 'rails_connector/cms_dispatch' and params[:id]
                img.attributes['src'] = Obj.find(params[:id]).body_data_path
              end
            end
          end
          xml
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
infopark_rails_connector-6.8.0.beta.200.621.4c8e1b0 lib/rails_connector/fop_on_rails/document/images.rb