Sha256: 61896e35f6a685f312ce0c1d077d3424d13869930aad67c10ee65e25ac49f28b

Contents?: true

Size: 719 Bytes

Versions: 4

Compression:

Stored size: 719 Bytes

Contents

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
      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
    end

  end
end
    

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
awestruct-0.2.3 lib/awestruct/extensions/pipeline.rb
awestruct-0.2.2 lib/awestruct/extensions/pipeline.rb
awestruct-0.2.1 lib/awestruct/extensions/pipeline.rb
awestruct-0.2.0 lib/awestruct/extensions/pipeline.rb