Sha256: c5fb82fa3d77b396cf5801e774df23b64dde78175ed315568e4523eec93bc30c

Contents?: true

Size: 843 Bytes

Versions: 1

Compression:

Stored size: 843 Bytes

Contents

module PDF
  module Core
    class FilterList
      def initialize
        @list = []
      end

      def <<(filter)
        case filter
        when Symbol
          @list << [filter, nil]
        when ::Hash
          filter.each do |name, params|
            @list << [name, params]
          end
        else
          raise "Can not interpret input as filter: #{filter.inspect}"
        end

        self
      end

      def normalized
        @list
      end
      alias to_a normalized

      def names
        @list.map do |(name, _)|
          name
        end
      end

      def decode_params
        @list.map do |(_, params)|
          params
        end
      end

      def inspect
        @list.inspect
      end

      def each
        @list.each do |filter|
          yield(filter)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pdf-core-0.7.0 lib/pdf/core/filter_list.rb