class Awestruct::Extensions::Pipeline

Public. Extension declaration class, initialized by the end user to declare their extensions, helpers, transformers, etc.

Attributes

after_all_extensions[R]
after_generation_extensions[R]
before_all_extensions[R]
extensions[R]
helpers[R]
transformers[R]

Public Class Methods

new(&block) click to toggle source
# File lib/awestruct/extensions/pipeline.rb, line 25
def initialize(&block)
  @before_all_extensions       = []
  @extensions                  = []
  @helpers                     = []
  @transformers                = []
  @after_all_extensions        = []
  @after_generation_extensions = []
  begin
    instance_eval(&block) if block
  rescue Exception => e
    abort("Failed to initialize pipeline: #{e}")
  end
end

Public Instance Methods

after_extensions(ext) click to toggle source
# File lib/awestruct/extensions/pipeline.rb, line 51
def after_extensions(ext)
  @after_all_extensions << ext
end
after_generation(ext) click to toggle source
# File lib/awestruct/extensions/pipeline.rb, line 63
def after_generation(ext)
  @after_generation_extensions << ext
end
before_extensions(ext) click to toggle source
# File lib/awestruct/extensions/pipeline.rb, line 39
def before_extensions(ext)
  @before_all_extensions << ext
end
execute(site) click to toggle source
# File lib/awestruct/extensions/pipeline.rb, line 67
def execute(site)
  extensions.each do |ext|
    ext.execute( site )
  end
end
extension(ext) click to toggle source
# File lib/awestruct/extensions/pipeline.rb, line 43
def extension(ext)
  @extensions << ext if ext.respond_to?(:execute)

  @before_all_extensions << ext if ext.respond_to?(:before_extensions)
  @after_all_extensions << ext if ext.respond_to?(:after_extensions)
  @after_generation_extensions << ext if ext.respond_to?(:after_generation)
end
helper(helper) click to toggle source
# File lib/awestruct/extensions/pipeline.rb, line 55
def helper(helper)
  @helpers << helper
end
transformer(transformer) click to toggle source
# File lib/awestruct/extensions/pipeline.rb, line 59
def transformer(transformer)
  @transformers << transformer
end
watch(watched_dirs) click to toggle source
# File lib/awestruct/extensions/pipeline.rb, line 73
def watch(watched_dirs)
  extensions.each do |ext|
    ext.watch( watched_dirs ) if ext.respond_to?('watch')
  end
end

Private Instance Methods

site() click to toggle source
# File lib/awestruct/extensions/pipeline.rb, line 80
def site
  Awestruct::Engine.instance.site
end