Sha256: 36433a39a42ebb219696acb4c7a0a224bf90437c18b57e837f17b1482fd8b2d9

Contents?: true

Size: 967 Bytes

Versions: 4

Compression:

Stored size: 967 Bytes

Contents

require 'valise/set'

module Valise
  class Set
    class Decorator < Set
      def initialize(set)
        @set = set
      end

      attr_reader :set
      protected :set

      def search_roots
        set.search_roots
      end

      def merge_diff
        set.merge_diff
      end

      def serialization
        set.serialization
      end
    end

    class PrefixesDecorator < Decorator
      def initialize(set)
        super
        @prefixes = []
      end
      attr_accessor :prefixes

      def inspect
        "#{prefixes.inspect}x#{set.inspect}"
      end

      def get(path)
        set.get(path).exts(*prefixes)
      end
    end

    class ExtensionsDecorator < Decorator
      def initialize(set)
        super
        @extensions = []
      end
      attr_accessor :extensions

      def inspect
        "#{set.inspect}x#{extensions.inspect}"
      end

      def get(path)
        set.get(path).exts(*extensions)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

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