class Makimono::Converter

Attributes

converters[R]

Public Class Methods

from_config(config) click to toggle source
# File lib/makimono/converter.rb, line 7
def self.from_config(config)
  klasses = if config[:converters] == ['Markdown']
              [Markdown]
            else
              config[:converters].map do |name|
                const_get(name.to_s)
              rescue NameError
                raise InvalidConverterError, "Invalid converter configuration: #{name}"
              end
            end
  new(klasses.map { |klass| klass.new(config) })
end
new(converters) click to toggle source
# File lib/makimono/converter.rb, line 22
def initialize(converters)
  @converters = converters
end

Public Instance Methods

convert(resource) click to toggle source
# File lib/makimono/converter.rb, line 26
def convert(resource)
  converters.inject(resource) do |res, converter|
    if converter.convertible?(res)
      converter.convert(res)
    else
      res
    end
  end
end