class MongoidMarkdownExtension::Markdown

Attributes

configuration[W]

Public Class Methods

configuration() click to toggle source
# File lib/mongoid_markdown_extension/markdown.rb, line 10
def self.configuration
  @configuration ||= Configuration.new
end
configure() { |configuration| ... } click to toggle source
# File lib/mongoid_markdown_extension/markdown.rb, line 18
def self.configure
  yield(configuration)
end
demongoize(value) click to toggle source
# File lib/mongoid_markdown_extension/markdown.rb, line 22
def self.demongoize(value)
  Markdown.new(value)
end
evolve(value) click to toggle source
# File lib/mongoid_markdown_extension/markdown.rb, line 33
def self.evolve(value)
  case value
  when Markdown then value.mongoize
  else value
  end
end
mongoize(value) click to toggle source
# File lib/mongoid_markdown_extension/markdown.rb, line 26
def self.mongoize(value)
  case value
  when Markdown then value.mongoize
  else value
  end
end
new(str) click to toggle source
Calls superclass method
# File lib/mongoid_markdown_extension/markdown.rb, line 40
def initialize(str)
  super(str.to_s)
end
reset() click to toggle source
# File lib/mongoid_markdown_extension/markdown.rb, line 14
def self.reset
  @configuration = Configuration.new
end

Public Instance Methods

to_html() click to toggle source
# File lib/mongoid_markdown_extension/markdown.rb, line 44
def to_html
  markdown_renderer.render(to_s).html_safe
end
to_inline_html(line_breaks: false) click to toggle source
# File lib/mongoid_markdown_extension/markdown.rb, line 48
def to_inline_html(line_breaks: false)
  rendered = markdown_inline_renderer.render(to_s).gsub(/(<br\s?\/?>)+?\z/, '')
  rendered.gsub!(/(<br\s?\/?>)+?\Z/, '') if !line_breaks
  rendered.html_safe
end
to_stripped_s() click to toggle source
# File lib/mongoid_markdown_extension/markdown.rb, line 54
def to_stripped_s
  markdown_stripdown_renderer.render(to_s).try(:strip)
end

Private Instance Methods

markdown_inline_renderer() click to toggle source

TODO: how to combine custom render class with the InlineRenderer?

# File lib/mongoid_markdown_extension/markdown.rb, line 69
def markdown_inline_renderer
  inline_render_class = MongoidMarkdownExtension::Markdown.configuration.inline_render_class
  render_options = MongoidMarkdownExtension::Markdown.configuration.render_options
  extensions = MongoidMarkdownExtension::Markdown.configuration.extensions
  extensions[:tables] = false

  Redcarpet::Markdown.new(inline_render_class.new(render_options), extensions)
end
markdown_renderer() click to toggle source
# File lib/mongoid_markdown_extension/markdown.rb, line 60
def markdown_renderer
  render_class = MongoidMarkdownExtension::Markdown.configuration.render_class
  render_options = MongoidMarkdownExtension::Markdown.configuration.render_options
  extensions = MongoidMarkdownExtension::Markdown.configuration.extensions

  Redcarpet::Markdown.new(render_class.new(render_options), extensions)
end
markdown_stripdown_renderer() click to toggle source
# File lib/mongoid_markdown_extension/markdown.rb, line 78
def markdown_stripdown_renderer
  Redcarpet::Markdown.new(Redcarpet::Render::StripDown)
end