class PdfTempura::Render::BoxedCharacters
Attributes
field[RW]
value[RW]
Public Class Methods
new(field, value, options = {})
click to toggle source
# File lib/pdf_tempura/render/boxed_characters.rb, line 9 def initialize(field, value, options = {}) @field = field @options = options @value = value ? value.dup : "" validate_value_length! end
Public Instance Methods
render(pdf)
click to toggle source
# File lib/pdf_tempura/render/boxed_characters.rb, line 17 def render(pdf) characters = value.chars.to_a field.fields.each do |field| break if characters.empty? Field::generate(field, characters.shift, @options).render(pdf) end render_debug_annotation(pdf) if draw_outlines? end
Private Instance Methods
render_debug_annotation(pdf)
click to toggle source
# File lib/pdf_tempura/render/boxed_characters.rb, line 36 def render_debug_annotation(pdf) Debug::OutsideAnnotation.new(field).render(pdf) end
validate_value_length!()
click to toggle source
# File lib/pdf_tempura/render/boxed_characters.rb, line 30 def validate_value_length! if value && !field.truncate? && value.length > field.supported_characters raise ArgumentError.new("Data for #{field.name} must be exactly #{field.supported_characters} characters or use the truncate option.") end end