Sha256: 464e2ce344665a7a3c31d8ace45d2dbf465f7e1ef3cba5c94208fff80a30c78b
Contents?: true
Size: 1.36 KB
Versions: 1
Compression:
Stored size: 1.36 KB
Contents
# much love to Feather, borrowed from Merb module Governor module Formatters class << self ## # This registers a block to format article content def register_formatter(name, &block) @formatters ||= {'default' => default_formatter} raise "Formatter `#{name}` already registered!" unless @formatters[name].nil? @formatters[name] = block end ## # This returns an array of available formatters that have been registered def available_formatters @formatters ||= {'default' => default_formatter} return @formatters end ## # This returns a default formatter used for replacing line breaks within text # This is the only formatter included within Governor def default_formatter Proc.new do |text| text.to_s.gsub("\r\n", "\n").gsub("\n", '<br>') end end ## # This performs the relevant formatting for the article, and returns the formatted article content def format_article(article) format_text(article.format, article.post) end ## # This performs the requested formatting, returning the formatted text def format_text(formatter, text) formatter = 'default' unless available_formatters.include?(formatter) @formatters[formatter].call(text).html_safe end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
governor-0.2.0 | lib/governor/formatters.rb |