Class: MarkdownRails::Handler::Markdown

Inherits:
Object
  • Object
show all
Defined in:
lib/markdown-rails/handler/markdown.rb

Overview

We cannot use MarkdownRails because it conflicts with RDiscount’s Markdown class

Direct Known Subclasses

Erb

Constant Summary collapse

DEFAULT_EXTENSION =
:md

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(&block) ⇒ Markdown

Returns a new instance of Markdown.



7
8
9
# File 'lib/markdown-rails/handler/markdown.rb', line 7

def initialize(&block)
  @markdown = block
end

Class Method Details

.handle(*extensions, &block) ⇒ Object



15
16
17
18
19
20
# File 'lib/markdown-rails/handler/markdown.rb', line 15

def self.handle(*extensions, &block)
  Array(extensions).each do |extension|
    handler = new &block
    ActionView::Template.register_template_handler extension, handler
  end
end

.register_default_handlerObject

Registers a default ‘.md` handler for Rails templates. This might be replaced by a handler in the `config/initializers/markdown.rb` file.



24
25
26
# File 'lib/markdown-rails/handler/markdown.rb', line 24

def self.register_default_handler
  handle(DEFAULT_EXTENSION) { MarkdownRails::Renderer::Rails.new }
end

Instance Method Details

#call(template, source = template.source) ⇒ Object



11
12
13
# File 'lib/markdown-rails/handler/markdown.rb', line 11

def call(template, source = template.source)
  renderer.render(source).inspect + '.html_safe'
end