Sha256: da9162dc3ec40d50dad440d14698a3fe21777c4e806f34fb73524e595484076d

Contents?: true

Size: 661 Bytes

Versions: 4

Compression:

Stored size: 661 Bytes

Contents

require 'valise/stack/decorator'
module Valise
  class Stack
    class PrefixesDecorator < Decorator
      def initialize(stack)
        super
        @prefixes = []
      end

      attr_accessor :prefixes

      def inspect
        "P#{prefixes.inspect}x#{@stack.inspect}"
      end

      def reget(root)
        decorated = self.new(super)
        decorated.prefixes = self.prefixes
        decorated
      end

      def decorate_item(item)
        dir, file = *item.segments.split
        @prefixes.each do |pfx|
          dec_stack = @stacks[dir + (pfx + file.to_s)]
          yield(dec_stack.item_for(item.root))
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
valise-1.1.3 lib/valise/stack/prefixes-decorator.rb
valise-1.1.2 lib/valise/stack/prefixes-decorator.rb
valise-1.1.1 lib/valise/stack/prefixes-decorator.rb
valise-1.1.0 lib/valise/stack/prefixes-decorator.rb