Sha256: c555d3f4e13e4ce0c59821da5ca0c001ebd4c5c4fb6de612533a6828e6d37270

Contents?: true

Size: 935 Bytes

Versions: 1

Compression:

Stored size: 935 Bytes

Contents

module Maildown
  module MarkdownEngine
    def self.to_html(string)
      html_block.call(string)
    end

    def self.to_text(string)
      text_block.call(string)
    end

    def self.set_html(&block)
      @maildown_markdown_engine_html_block = block
    end

    def self.set(&block)
      set_html(&block)
    end

    class << self
      extend Gem::Deprecate
      deprecate :set, :set_html, 2017, 6
    end

    def self.set_text(&block)
      @maildown_markdown_engine_text_block = block
    end

    def self.html_block
      @maildown_markdown_engine_html_block || default_html_block
    end

    def self.text_block
      @maildown_markdown_engine_text_block || default_text_block
    end

    def self.default_html_block
      require 'kramdown' unless defined? Kramdown

      ->(string) { Kramdown::Document.new(string).to_html }
    end

    def self.default_text_block
      ->(string) { string }
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
maildown-2.0.1 lib/maildown/markdown_engine.rb