Sha256: 610ff5bba8b8d06b42b99a12b8472e7977d1974d89b72414c4c381f84948b019

Contents?: true

Size: 693 Bytes

Versions: 12

Compression:

Stored size: 693 Bytes

Contents

require 'blogo/renderer/base'
require 'blogo/renderer/html'
require 'blogo/renderer/markdown'

module Blogo
  module Renderer

    # Maps format names to renderers.
    RENDERERS = {
      :markdown => Blogo::Renderer::Markdown,
      :html     => Blogo::Renderer::Html
    }

    # Find and initialize renderer for a particular markup format.
    #
    # @param format [Symbol, String]
    #
    # @return [Blogo::Renderer::Base]
    def self.get(format)
      if renderer_class = RENDERERS[format.to_sym]
        renderer_class.load_dependencies!(format)
        renderer_class.new
      else
        raise(Blogo::Error, "Can't find renderer #{format.inspect}")
      end
    end

  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
blogo-0.1.1 lib/blogo/renderer.rb
blogo-0.1.0 lib/blogo/renderer.rb
blogo-0.0.10 lib/blogo/renderer.rb
blogo-0.0.9 lib/blogo/renderer.rb
blogo-0.0.8 lib/blogo/renderer.rb
blogo-0.0.7 lib/blogo/renderer.rb
blogo-0.0.6 lib/blogo/renderer.rb
blogo-0.0.5 lib/blogo/renderer.rb
blogo-0.0.4 lib/blogo/renderer.rb
blogo-0.0.3 lib/blogo/renderer.rb
blogo-0.0.2 lib/blogo/renderer.rb
blogo-0.0.1 lib/blogo/renderer.rb