class Prawn::Repeater
Repeater object.
@private
Attributes
Public Class Methods
Source
# File lib/prawn/repeater.rb, line 98 def count @count ||= 0 end
Repeater counter.
It’s not an exact number of repeaters but a counter used to generate unique repeater stamp names.
@return [Integer]
Source
# File lib/prawn/repeater.rb, line 105 def initialize(document, page_filter, dynamic = false, &block) @document = document @page_filter = page_filter @dynamic = dynamic @stamp_name = "prawn_repeater(#{Repeater.count})" @document.create_stamp(@stamp_name, &block) unless dynamic @block = block if dynamic @graphic_state = document.state.page.graphic_state.dup Repeater.count += 1 end
Public Instance Methods
Source
# File lib/prawn/repeater.rb, line 121 def match?(page_number) @document.page_match?(@page_filter, page_number) end
Should this repeater run on this page?
@param page_number [Integer] @return [Boolean]
Source
# File lib/prawn/repeater.rb, line 129 def run(page_number) if !@dynamic @document.stamp(@stamp_name) if match?(page_number) elsif @block && match?(page_number) @document.save_graphics_state(@graphic_state) do @document.__send__(:freeze_stamp_graphics) @block.call end end end
Run repeater.
@param page_number [Integer] @return [void]