Module: Pdfrb::Model::Type
- Defined in:
- lib/pdfrb/model/type.rb,
lib/pdfrb/model/type/font.rb,
lib/pdfrb/model/type/info.rb,
lib/pdfrb/model/type/page.rb,
lib/pdfrb/model/type/names.rb,
lib/pdfrb/model/type/action.rb,
lib/pdfrb/model/type/catalog.rb,
lib/pdfrb/model/type/outline.rb,
lib/pdfrb/model/type/cid_font.rb,
lib/pdfrb/model/type/metadata.rb,
lib/pdfrb/model/type/resources.rb,
lib/pdfrb/model/type/annotation.rb,
lib/pdfrb/model/type/font_type0.rb,
lib/pdfrb/model/type/font_type1.rb,
lib/pdfrb/model/type/font_type3.rb,
lib/pdfrb/model/type/struct_elem.rb,
lib/pdfrb/model/type/xref_stream.rb,
lib/pdfrb/model/type/file_trailer.rb,
lib/pdfrb/model/type/outline_item.rb,
lib/pdfrb/model/type/xobject_form.rb,
lib/pdfrb/model/type/embedded_file.rb,
lib/pdfrb/model/type/object_stream.rb,
lib/pdfrb/model/type/output_intent.rb,
lib/pdfrb/model/type/xobject_image.rb,
lib/pdfrb/model/type/font_true_type.rb,
lib/pdfrb/model/type/page_tree_node.rb,
lib/pdfrb/model/type/font_descriptor.rb,
lib/pdfrb/model/type/af_embedded_file.rb,
lib/pdfrb/model/type/interactive_form.rb,
lib/pdfrb/model/type/struct_tree_root.rb,
lib/pdfrb/model/type/file_specification.rb,
lib/pdfrb/model/type/encryption_standard.rb,
lib/pdfrb/model/type/af_file_specification.rb,
lib/pdfrb/model/type/encryption_public_key.rb,
lib/pdfrb/model/type/optional_content_group.rb,
lib/pdfrb/model/type/graphics_state_parameter.rb,
lib/pdfrb/model/type/optional_content_membership.rb,
lib/pdfrb/model/type/optional_content_properties.rb
Overview
Semantic PDF types — one subclass per Arlington TSV. Each class
declares arlington_object "Name" and gets its field metadata
auto-loaded from the vendored TSVs at first access.
The arlington_registry maps TSV name -> Type subclass so other
Types' field-link resolution can find concrete classes.
Adding a new PDF type = adding one subclass that calls
arlington_object "TSVName". Open/closed: no switch edits.
Defined Under Namespace
Classes: AFEmbeddedFile, AFFileSpecification, Action, Annotation, CIDFont, Catalog, EmbeddedFile, EncryptionPublicKey, EncryptionStandard, FileSpecification, FileTrailer, Font, FontDescriptor, FontTrueType, FontType0, FontType1, FontType3, GraphicsStateParameter, Info, InteractiveForm, Metadata, Names, ObjectStream, OptionalContentGroup, OptionalContentMembership, OptionalContentProperties, Outline, OutlineItem, OutputIntent, Page, PageTreeNode, PageTreeNodeRoot, Resources, StructElem, StructTreeRoot, XObjectForm, XObjectImage, XRefStream
Class Attribute Summary collapse
-
.arlington_registry ⇒ Object
readonly
Returns the value of attribute arlington_registry.
Class Method Summary collapse
-
.lookup(name) ⇒ Object
Look up a Type subclass by Arlington TSV name.
-
.register_arlington(name, klass) ⇒ Object
Register a Type subclass under its Arlington TSV name.
Class Attribute Details
.arlington_registry ⇒ Object (readonly)
Returns the value of attribute arlington_registry.
18 19 20 |
# File 'lib/pdfrb/model/type.rb', line 18 def arlington_registry @arlington_registry end |
Class Method Details
.lookup(name) ⇒ Object
Look up a Type subclass by Arlington TSV name.
26 27 28 |
# File 'lib/pdfrb/model/type.rb', line 26 def lookup(name) @arlington_registry[name] end |
.register_arlington(name, klass) ⇒ Object
Register a Type subclass under its Arlington TSV name.
21 22 23 |
# File 'lib/pdfrb/model/type.rb', line 21 def register_arlington(name, klass) @arlington_registry[name] = klass end |