Sha256: 98479ff93a34a05b68e716fbd9d2251fbb7a9f6b5977675d9acf6b9582cbea8c

Contents?: true

Size: 959 Bytes

Versions: 6

Compression:

Stored size: 959 Bytes

Contents

class Rad::TextUtils::Markup < Rad::TextUtils::Processor

  def initialize processor = nil
    super
            
    @markup = build_from(
      Rad::TextUtils::EnsureUtf,
      Rad::TextUtils::HtmlSanitizer,
    
      Rad::TextUtils::CodeHighlighter,
      
      Rad::TextUtils::CustomMarkdown,
      
      Rad::TextUtils::Urls,
      Rad::TextUtils::TagShortcuts                    
    )
    
    @html = build_from(
      Rad::TextUtils::EnsureUtf,
      Rad::TextUtils::HtmlSanitizer,
      Rad::TextUtils::CodeHighlighter
    )
  end

  def process text, env
    return text if text.blank?
    
    if text =~ /\A\[html\]/i
      text = text.sub(/\A\[html\][\s\n\r]*/i, '')
      chain = @html
    else
      chain = @markup
    end

    text = chain.process text, env

    unless text.encoding == Encoding::UTF_8
      raise "something wrong happens, invalid encoding (#{text.encoding} instead of utf-8)!"
    end

    call_next text, env
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rad_kit-0.0.6 lib/kit/text_utils/markup.rb
rad_kit-0.0.5 lib/kit/text_utils/markup.rb
rad_kit-0.0.4 lib/kit/text_utils/markup.rb
rad_kit-0.0.3 lib/kit/text_utils/markup.rb
rad_kit-0.0.2 lib/kit/text_utils/markup.rb
rad_kit-0.0.1 lib/kit/text_utils/markup.rb