Class: Pdfrb::Model::PdfArray
- Inherits:
-
Object
- Object
- Object
- Pdfrb::Model::PdfArray
show all
- Includes:
- Enumerable
- Defined in:
- lib/pdfrb/model/pdf_array.rb
Overview
Wraps a Ruby Array of PDF values. Subclass of Object so it can
carry oid/gen when stored as an indirect object. Preserves
insertion order and supports type-aware wrapping on access
when nested inside a typed Dictionary (field-driven).
Instance Attribute Summary
Attributes inherited from Object
#document, #gen, #oid, #value
Instance Method Summary
collapse
Methods inherited from Object
define_type, #deref, #indirect?, #must_be_indirect?, #pdf_type, pdf_type
Constructor Details
#initialize(arr = [], oid: 0, gen: 0, document: nil) ⇒ PdfArray
Returns a new instance of PdfArray.
12
13
14
|
# File 'lib/pdfrb/model/pdf_array.rb', line 12
def initialize(arr = [], oid: 0, gen: 0, document: nil)
super(Array(arr), oid: oid, gen: gen, document: document)
end
|
Instance Method Details
34
35
36
37
|
# File 'lib/pdfrb/model/pdf_array.rb', line 34
def <<(v)
@value << v
self
end
|
#==(other) ⇒ Object
52
53
54
55
56
|
# File 'lib/pdfrb/model/pdf_array.rb', line 52
def ==(other)
return @value == other.value if other.is_a?(PdfArray)
@value == other
end
|
26
27
28
|
# File 'lib/pdfrb/model/pdf_array.rb', line 26
def [](idx)
@value[idx]
end
|
#[]=(idx, v) ⇒ Object
30
31
32
|
# File 'lib/pdfrb/model/pdf_array.rb', line 30
def []=(idx, v)
@value[idx] = v
end
|
#delete_at(idx) ⇒ Object
44
45
46
|
# File 'lib/pdfrb/model/pdf_array.rb', line 44
def delete_at(idx)
@value.delete_at(idx)
end
|
#each(&block) ⇒ Object
16
17
18
19
|
# File 'lib/pdfrb/model/pdf_array.rb', line 16
def each(&block)
@value.each(&block)
self
end
|
#empty? ⇒ Boolean
24
|
# File 'lib/pdfrb/model/pdf_array.rb', line 24
def empty?; @value.empty?; end
|
58
59
60
|
# File 'lib/pdfrb/model/pdf_array.rb', line 58
def inspect
"PdfArray[#{@value.inspect}]"
end
|
#length ⇒ Object
Also known as:
size
21
|
# File 'lib/pdfrb/model/pdf_array.rb', line 21
def length; @value.length; end
|
#push(*items) ⇒ Object
39
40
41
42
|
# File 'lib/pdfrb/model/pdf_array.rb', line 39
def push(*items)
@value.push(*items)
self
end
|
48
49
50
|
# File 'lib/pdfrb/model/pdf_array.rb', line 48
def to_a
@value.dup
end
|