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.210.ed204b0 lib/rails_connector/fop_on_rails/document/images.rb
infopark_rails_connector-6.8.0.110.6570b45 lib/rails_connector/fop_on_rails/document/images.rb
infopark_rails_connector-6.8.0.72.d18d096 lib/rails_connector/fop_on_rails/document/images.rb
infopark_rails_connector-6.8.0.23.da7f96b lib/rails_connector/fop_on_rails/document/images.rb
infopark_rails_connector-6.8.0.16.def5e85 lib/rails_connector/fop_on_rails/document/images.rb
infopark_rails_connector-6.8.0.15.a24f5ff lib/rails_connector/fop_on_rails/document/images.rb
infopark_rails_connector-6.8.0.beta.200.891.647580e lib/rails_connector/fop_on_rails/document/images.rb
infopark_rails_connector-6.8.0.beta.200.889.d503e42 lib/rails_connector/fop_on_rails/document/images.rb
infopark_rails_connector-6.8.0.beta.200.883.f5f063b lib/rails_connector/fop_on_rails/document/images.rb
infopark_rails_connector-6.8.0.beta.200.884.4bd86e6 lib/rails_connector/fop_on_rails/document/images.rb
infopark_rails_connector-6.8.0.beta.200.869.9609b39 lib/rails_connector/fop_on_rails/document/images.rb
infopark_rails_connector-6.8.0.beta.200.856.8c0fec5 lib/rails_connector/fop_on_rails/document/images.rb
infopark_rails_connector-6.8.0.beta.200.809.bdfa8c3 lib/rails_connector/fop_on_rails/document/images.rb
infopark_rails_connector-6.8.0.beta.200.785.05d4af9 lib/rails_connector/fop_on_rails/document/images.rb
infopark_rails_connector-6.8.0.beta.200.744.99f67fc lib/rails_connector/fop_on_rails/document/images.rb
infopark_rails_connector-6.8.0.beta.200.720.44fbabd lib/rails_connector/fop_on_rails/document/images.rb
infopark_rails_connector-6.8.0.beta.200.713.e5c3150 lib/rails_connector/fop_on_rails/document/images.rb
infopark_rails_connector-6.8.0.beta.200.681.7c84f4a lib/rails_connector/fop_on_rails/document/images.rb
infopark_rails_connector-6.8.0.beta.200.663.ceecdee lib/rails_connector/fop_on_rails/document/images.rb
infopark_rails_connector-6.8.0.beta.200.650.7c93155 lib/rails_connector/fop_on_rails/document/images.rb