Sha256: db69cb9dd8f75e56d31240edd7fabc2c970485b84e430cffee77766a51880840

Contents?: true

Size: 867 Bytes

Versions: 24

Compression:

Stored size: 867 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_method :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(&block)
        @list.each do |filter|
          block.call(filter)
        end
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 2 rubygems

Version Path
pdf-core-0.6.1 lib/pdf/core/filter_list.rb
pdf-core-0.6.0 lib/pdf/core/filter_list.rb
pdf-core-0.5.1 lib/pdf/core/filter_list.rb
pdf-core-0.5.0 lib/pdf/core/filter_list.rb
pdf-core-0.4.0 lib/pdf/core/filter_list.rb
pdf-core-0.3.1 lib/pdf/core/filter_list.rb
pdf-core-0.3.0 lib/pdf/core/filter_list.rb
pdf-core-0.2.5 lib/pdf/core/filter_list.rb
pdf-core-0.2.4 lib/pdf/core/filter_list.rb
pdf-core-0.2.2 lib/pdf/core/filter_list.rb
pdf-core-0.2.1 lib/pdf/core/filter_list.rb
pdf-core-0.2.0 lib/pdf/core/filter_list.rb
pdf-core-0.1.6 lib/pdf/core/filter_list.rb
pdf-core-0.1.4 lib/pdf/core/filter_list.rb
pdf-core-0.1.3 lib/pdf/core/filter_list.rb
pdf-core-0.1.1 lib/pdf/core/filter_list.rb
pdf-core-0.1.0 lib/pdf/core/filter_list.rb
pdf-core-0.0.3 lib/pdf/core/filter_list.rb
pdf-core-0.0.2 lib/pdf/core/filter_list.rb
prawn-0.14.0 lib/pdf/core/filter_list.rb