Sha256: 816b8f7c6472616fd7f191575657ab202c0dcc745835a546fdda61cb1f2b71b4
Contents?: true
Size: 987 Bytes
Versions: 2
Compression:
Stored size: 987 Bytes
Contents
module Stevenson module OutputFilter autoload :Jekyll, 'stevenson/output_filters/jekyll' autoload :Zip, 'stevenson/output_filters/zip' autoload :Generator, 'stevenson/output_filter/generator' class Base attr_reader :directory def self.included(filter) filter.extend ClassMethods Stevenson.output_filters[filter.filter_name] = filter end module ClassMethods def filter_name name.gsub(/^.*::/, '').downcase.to_sym end end def initialize(directory) @directory = directory end def output raise NotImplementedError end end def self.generate!(template, options) Generator.new(options).generate!(template) end def self.filter_for(type) Stevenson.output_filters[type] || const_get(type.to_s.capitalize) rescue NameError => e raise Stevenson::Error.new "Type '#{type}' is not a valid output type.", e end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
stevenson-2.2.2 | lib/stevenson/output_filter.rb |
stevenson-2.2.1 | lib/stevenson/output_filter.rb |