module Governor::Formatters
heavily based on Feather
Public Class Methods
available_formatters()
click to toggle source
Returns an array of available formatters that have been registered
# File lib/governor/formatters.rb, line 15 def available_formatters @formatters ||= {'default' => default_formatter} return @formatters end
default_formatter()
click to toggle source
Returns a default formatter used for replacing line breaks within text This is the only formatter included within Governor
# File lib/governor/formatters.rb, line 23 def default_formatter Proc.new do |text| text.to_s.gsub("\r\n", "\n").gsub("\n", '<br>') end end
format_article(article)
click to toggle source
Performs the relevant formatting for the article, and returns the formatted article content
# File lib/governor/formatters.rb, line 31 def format_article(article) format_text(article.format, article.post) end
format_text(formatter, text)
click to toggle source
Performs the requested formatting, returning the formatted text
# File lib/governor/formatters.rb, line 37 def format_text(formatter, text) formatter = 'default' unless available_formatters.include?(formatter) @formatters[formatter].call(text).html_safe end
register_formatter(name, &block)
click to toggle source
Registers a block to format article content
# File lib/governor/formatters.rb, line 7 def register_formatter(name, &block) @formatters ||= {'default' => default_formatter} raise "Formatter `#{name}` already registered!" unless @formatters[name].nil? @formatters[name] = block end