Class: Pdf::FooterEvaluator

Inherits:
Object
  • Object
show all
Defined in:
lib/pdf/footer_evaluator.rb

Instance Method Summary collapse

Constructor Details

#initialize(context, renderer) ⇒ FooterEvaluator

Returns a new instance of FooterEvaluator.



5
6
7
8
9
# File 'lib/pdf/footer_evaluator.rb', line 5

def initialize(context, renderer)
  @context = context
  @renderer = renderer
  @resolver = Resolver.new(context)
end

Instance Method Details

#setup(blueprint) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/pdf/footer_evaluator.rb', line 11

def setup(blueprint)
  texts = []
  page_number_opts = nil

  blueprint.elements.each do |el|
    case el[:type]
    when :footer_text
      content = @resolver.resolve(el[:args].first)
      texts << { text: content, size: el[:options][:size] || 8 }

    when :page_number
      page_number_opts = el[:options]
    end
  end

  @renderer.setup_footer do |pdf|
    render_footer_content(pdf, texts, page_number_opts)
  end
end