module MCMarkdown::Renderers

Public Class Methods

use(renderer_class, options={}) click to toggle source
# File lib/mc_markdown/renderers.rb, line 5
def use renderer_class, options={}
  fetch( { class: renderer_class, extensions: options.delete(:extensions), options: options } )
end

Private Class Methods

add(renderer_key) click to toggle source
# File lib/mc_markdown/renderers.rb, line 19
def add renderer_key
  extensions = renderer_key[:extensions] || {}

  store[renderer_key] = Redcarpet::Markdown.new(
    ::MCMarkdown.const_get( renderer_key[:class].to_s.capitalize ).new( renderer_key[:options] ),
    extensions
  )
end
fetch(renderer_key) click to toggle source
# File lib/mc_markdown/renderers.rb, line 15
def fetch renderer_key
  store.fetch(renderer_key) { add(renderer_key) }
end
store() click to toggle source
# File lib/mc_markdown/renderers.rb, line 11
def store
  @_store ||= {}
end