Class: PDF::Core::FilterList

Inherits:
Object
  • Object
show all
Defined in:
lib/pdf/core/filter_list.rb

Overview

A representation of a list of filters applied to a stream.

Defined Under Namespace

Classes: NotFilter

Instance Method Summary collapse

Constructor Details

#initializeFilterList

Returns a new instance of FilterList.

Source Code
lib/pdf/core/filter_list.rb, line 25
25
def initialize
26
  @list = []
27
end

Instance Method Details

#<<(filter) ⇒ self

Appends a filter to the list

Parameters:

  • filter (Symbol, Hash)

    a filter to append

Returns:

  • (self)

Raises:

Source Code
lib/pdf/core/filter_list.rb, line 34
34
def <<(filter)
35
  case filter
36
  when Symbol
37
    @list << [filter, nil]
38
  when ::Hash
39
    filter.each do |name, params|
40
      @list << [name, params]
41
    end
42
  else
43
    raise NotFilter.new(filter: filter)
44
  end
45
46
  self
47
end

#decode_paramsArray<[Hash, nil]>

Parameters of filters

Returns:

  • (Array<[Hash, nil]>)
Source Code
lib/pdf/core/filter_list.rb, line 69
69
def decode_params
70
  @list.map do |(_, params)|
71
    params
72
  end
73
end

#each {|(name, decode_params)| ... } ⇒ Array<Array<(Symbol, [Hash, nil])>>

Iterates over filters

Yields:

  • ((name, decode_params))

    an array of filter name and decode parameters

Yield Parameters:

  • name (Symbol)

    filter name

  • decode_params (Hash, nil)

    decode params

Returns:

  • (Array<Array<(Symbol, [Hash, nil])>>)

    normalized filter list

Source Code
lib/pdf/core/filter_list.rb, line 87
87
def each(&block)
88
  @list.each(&block)
89
end

#inspectString

Returns:

  • (String)
Source Code
lib/pdf/core/filter_list.rb, line 76
76
def inspect
77
  @list.inspect
78
end

#namesArray<Symbol>

Names of filters in the list

Returns:

  • (Array<Symbol>)
Source Code
lib/pdf/core/filter_list.rb, line 60
60
def names
61
  @list.map do |(name, _)|
62
    name
63
  end
64
end

#normalizedArray<Array<(Symbol, [Hash, nil])>> Also known as: to_a

A normalized representation of the filter list

Returns:

  • (Array<Array<(Symbol, [Hash, nil])>>)
Source Code
lib/pdf/core/filter_list.rb, line 52
52
def normalized
53
  @list
54
end