class Blogo::Renderer::Base
Attributes
dependencies[RW]
@!attribute [rw] dependencies
@return [Array<Hash>]
Public Class Methods
add_dependency(dependency)
click to toggle source
Declare external gem dependencies for a render.
@param dependency [Hash] hash with :gem and :require keys
@return [void]
# File lib/blogo/renderer/base.rb, line 13 def add_dependency(dependency) self.dependencies ||= [] self.dependencies << dependency end
load_dependencies!(renderer_name)
click to toggle source
Try to load dependencies, otherwise raise meaningful error.
@param renderer_name [Symbol, String]
@return [void]
# File lib/blogo/renderer/base.rb, line 23 def load_dependencies!(renderer_name) return unless dependencies dependencies.each do |dependency| begin require dependency[:require] rescue LoadError msg = "Please add `gem \"#{dependency[:gem]}\"` to the Gemfile " \ "to use Blogo with #{renderer_name.inspect} renderer" raise LoadError, msg end end end
Public Instance Methods
render(raw_text)
click to toggle source
@param raw_text [String]
@return [String] html
# File lib/blogo/renderer/base.rb, line 42 def render(raw_text) raise AbstractMethodCallError, __method__ end