Module: Pdfrb::Model::Cos::Fields
- Defined in:
- lib/pdfrb/model/cos/fields.rb
Overview
Field metadata for a Dictionary entry. Field instances are
created by Dictionary.define_field (hand-coded) or by
arlington_object (TSV-driven). They drive type conversion,
default application, and validation.
Defined Under Namespace
Modules: ArrayConverter, ByteStringConverter, DateConverter, DictionaryConverter, IntegerConverter, RectangleConverter, StringConverter Classes: Field
Constant Summary collapse
- Boolean =
Use this constant for boolean fields.
[TrueClass, FalseClass].freeze
- PDFByteString =
Marker class for binary-encoded string fields.
Class.new do private_class_method :new end.freeze
- PDFDate =
Marker class for date fields (string in PDF, Time in Ruby).
Class.new do private_class_method :new end.freeze
- CONVERTERS =
[ DictionaryConverter, ArrayConverter, StringConverter, ByteStringConverter, DateConverter, RectangleConverter, IntegerConverter ].freeze
Class Method Summary collapse
Class Method Details
.apply(field, data, document) ⇒ Object
202 203 204 205 206 207 208 209 210 211 |
# File 'lib/pdfrb/model/cos/fields.rb', line 202 def self.apply(field, data, document) field.type.each do |t| converter = converter_for(t) next unless converter result = converter.convert(data, field.type, document) return result if result end nil end |
.converter_for(type) ⇒ Object
198 199 200 |
# File 'lib/pdfrb/model/cos/fields.rb', line 198 def self.converter_for(type) CONVERTERS.find { |c| c.usable_for?(type) } end |