Sha256: 63058653d4b010481ebed2176f28d34c964294992ab9eda21cbdd169992ecf57

Contents?: true

Size: 1013 Bytes

Versions: 20

Compression:

Stored size: 1013 Bytes

Contents

Dir[ File.join( File.dirname(__FILE__), '*.rb' ) ].each do |f|
  require f
end

module Awestruct
  module Extensions
    class Pipeline

      attr_reader :before_extensions
      attr_reader :extensions
      attr_reader :after_extensions
      attr_reader :helpers
      attr_reader :transformers

      def initialize(&block)
        @extensions = []
        @helpers    = []
        @transformers  = []
        instance_eval &block if block
      end

      def extension(ext)
        @extensions << ext
        ext.transform(@transformers) if ext.respond_to?('transform')
      end

      def helper(helper)
        @helpers << helper
      end

      def transformer(transformer)
        @transformers << transformer
      end

      def execute(site)
        extensions.each do |ext|
          ext.execute( site )
        end
      end

      def watch(watched_dirs)
        extensions.each do |ext|
          ext.watch( watched_dirs ) if ext.respond_to?('watch')
        end
      end

    end
  end
end

Version data entries

20 entries across 20 versions & 2 rubygems

Version Path
awestruct-0.4.8 lib/awestruct/extensions/pipeline.rb
awestruct-0.4.7 lib/awestruct/extensions/pipeline.rb
awestruct-0.4.6 lib/awestruct/extensions/pipeline.rb
awestruct-0.4.5 lib/awestruct/extensions/pipeline.rb
awestruct-0.4.4 lib/awestruct/extensions/pipeline.rb
awestruct-0.4.3 lib/awestruct/extensions/pipeline.rb
awestruct-0.4.2 lib/awestruct/extensions/pipeline.rb
awestruct-0.4.2.x10 lib/awestruct/extensions/pipeline.rb
awestruct-0.4.2.x9 lib/awestruct/extensions/pipeline.rb
awestruct-0.4.2.x8 lib/awestruct/extensions/pipeline.rb
awestruct-0.4.2.x7 lib/awestruct/extensions/pipeline.rb
awestruct-0.4.2.x6 lib/awestruct/extensions/pipeline.rb
awestruct-0.4.2.x5 lib/awestruct/extensions/pipeline.rb
awestruct-0.4.2.x4 lib/awestruct/extensions/pipeline.rb
awestruct-0.4.2.x3 lib/awestruct/extensions/pipeline.rb
awestruct-0.4.2.x2 lib/awestruct/extensions/pipeline.rb
awestruct-0.4.2.x1 lib/awestruct/extensions/pipeline.rb
awestructx-0.4.1.x1 lib/awestruct/extensions/pipeline.rb
awestructx-0.4.1 lib/awestruct/extensions/pipeline.rb
awestructx-0.4.0 lib/awestruct/extensions/pipeline.rb