Sha256: 56c0f55a100dbe911cb32fd8fa4fd8166f2dd01a5a9bc1ab9b73ecea77f35cd3

Contents?: true

Size: 445 Bytes

Versions: 29

Compression:

Stored size: 445 Bytes

Contents

module Awestruct

  class HandlerChain

    attr_reader :matcher
    attr_reader :handler_classes

    def initialize(matcher, *handler_classes)
      @matcher         = matcher
      @handler_classes = handler_classes
    end

    def matches?(path)
      @matcher.match( path )
    end

    def create(site, path)
      cur = path
      @handler_classes.each do |cls|
        cur = cls.new( site, cur )
      end
      cur
    end

  end

end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
awestruct-0.6.7 lib/awestruct/handler_chain.rb
awestruct-0.6.6 lib/awestruct/handler_chain.rb
awestruct-0.6.5 lib/awestruct/handler_chain.rb
awestruct-0.6.4 lib/awestruct/handler_chain.rb
awestruct-0.6.3 lib/awestruct/handler_chain.rb
awestruct-0.6.2 lib/awestruct/handler_chain.rb
awestruct-0.6.1 lib/awestruct/handler_chain.rb
awestruct-0.6.0 lib/awestruct/handler_chain.rb
awestruct-0.6.0.RC1 lib/awestruct/handler_chain.rb
awestruct-0.6.0.alpha4 lib/awestruct/handler_chain.rb
awestruct-0.6.0.alpha3 lib/awestruct/handler_chain.rb
awestruct-0.6.0.alpha1 lib/awestruct/handler_chain.rb
awestruct-0.5.7 lib/awestruct/handler_chain.rb
awestruct-0.5.7.RC2 lib/awestruct/handler_chain.rb
awestruct-0.5.7.RC1 lib/awestruct/handler_chain.rb
awestruct-0.5.6 lib/awestruct/handler_chain.rb
awestruct-0.5.6.beta9 lib/awestruct/handler_chain.rb
awestruct-0.5.6.beta8 lib/awestruct/handler_chain.rb
awestruct-0.5.6.beta7 lib/awestruct/handler_chain.rb
awestruct-0.5.6.beta6 lib/awestruct/handler_chain.rb