Sha256: 339cada56a5789f1c103be782210b67b1c5e73653b1157198663cf56aa522cac

Contents?: true

Size: 695 Bytes

Versions: 4

Compression:

Stored size: 695 Bytes

Contents

require 'valise/stack'

module Valise
  class Stack
    class Decorator < Stack
      def initialize(stack)
        @stack = stack
        @stacks = Hash.new do |h,segments|
          h[segments] = @stack.valise.get(segments)
        end
      end

      def valise
        @stack.valise
      end

      def merged(item)
        item.stack.merged(item)
      end

      def diffed(item, value)
        item.stack.diffed(item, value)
      end

      def rel_path
        @stack.rel_path
      end

      def each
        return enum_for(:each) unless block_given?
        @stack.each do |item|
          decorate_item(item){|decorated| yield(decorated)}
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

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