Sha256: 01c23c25bf25ff1f12573ba8ccd046c2d2010a79d5c82dd824ed5a1ee93390ed

Contents?: true

Size: 1.19 KB

Versions: 1

Compression:

Stored size: 1.19 KB

Contents

require 'nokogiri'

module RailsConnector

  class ContentConversion
    def self.convert_html_links(input, request_host, request_port)
      doc = Nokogiri::HTML.parse("<div class='internal_jump_point'>#{input}</div>")

      doc.css('body a').each do |a_tag|
        if href = a_tag.attributes['href']
          link = Link.parse(href.value, request_host, request_port)
          href.value = link.to_cms_api_html_url
        end
      end

      doc.css('body img').each do |img_tag|
        if src = img_tag.attributes['src']
          link = Link.parse(src.value, request_host, request_port)
          src.value = link.to_cms_api_html_url
        end
      end

      new_html = doc.css('body div.internal_jump_point').inner_html

      nbsp = Nokogiri::HTML("&nbsp;").text
      new_html.gsub(nbsp, "&nbsp;")
    end

    def self.convert_linklist_urls(linklist, request_host, request_port)
      linklist.map do |link_data|
        if link_data.has_key?(:url)
          link_data.delete(:obj_id)
          url = link_data.delete(:url)
          link = Link.parse(url, request_host, request_port)
          link_data.merge!(link.to_cms_api_linklist_params)
        end

        link_data
      end
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
infopark_cloud_connector-7.1.0 lib/rails_connector/content_conversion.rb