Sha256: cfb7ef3b763a7920ea8a3c1318b25c8f751a83938570c66fc4ad2ce035f9ecc3
Contents?: true
Size: 1.03 KB
Versions: 12
Compression:
Stored size: 1.03 KB
Contents
require 'awestruct/handler_chains' require 'awestruct/context_helper' module Awestruct class Pipeline attr_reader :handler_chains def initialize() @handler_chains = HandlerChains.new @extensions = [] @helpers = [] @transformers = [] end def extension(e) @extensions << e # TC: why? transformer and extension? e.transform(@transformers) if e.respond_to?('transform') end def helper(h) @helpers << h end def transformer(t) @transformers << t end def execute(site) execute_extensions(site) end def execute_extensions(site) @extensions.each do |e| e.execute(site) end end def apply_transformers(site, page, rendered) @transformers.each do |t| rendered = t.transform( site, page, rendered ) end rendered end def mixin_helpers(context) context.extend( Awestruct::ContextHelper ) @helpers.each do |h| context.extend(h) end end end end
Version data entries
12 entries across 12 versions & 1 rubygems