Module: Mailbot::Renderer

Defined in:
lib/mailbot/renderer.rb

Defined Under Namespace

Classes: HTMLwithCodeRay

Constant Summary collapse

BLOCK_SYMBOL =
:mailbot_markdown_block

Class Method Summary collapse

Class Method Details

.blockObject



23
24
25
# File 'lib/mailbot/renderer.rb', line 23

def block
  Thread.current[BLOCK_SYMBOL] || default
end

.defaultObject



27
28
29
30
31
32
33
# File 'lib/mailbot/renderer.rb', line 27

def default
  ->(text) do
    renderer = HTMLwithCodeRay.new :filter_html => true, :hard_wrap => true
    markdown = Redcarpet::Markdown.new renderer, :autolink => true, :space_after_headers => true, :fenced_code_blocks => true
    markdown.render text
  end
end

.render(text) ⇒ Object



15
16
17
# File 'lib/mailbot/renderer.rb', line 15

def render(text)
  block.call text
end

.set(&block) ⇒ Object



19
20
21
# File 'lib/mailbot/renderer.rb', line 19

def set(&block)
  Thread.current[BLOCK_SYMBOL] = block
end