Sha256: 20a83f141b039aacf53f2c08f0d97b17d4697bf4bd849ffb3e4fbaf9f48443ad

Contents?: true

Size: 719 Bytes

Versions: 1

Compression:

Stored size: 719 Bytes

Contents

# frozen_string_literal: true

require 'prism'
require_relative 'part'
require_relative 'text_renderer'

module Prawn
  module ManualBuilder
    class Peritext < Part

      def initialize(&block)
        super

        if block
          instance_eval(&block)
        else
          warn "Peritext defined in #{__FILE__} has no content"
        end
      end

      # DSL
      def text(&block)
        if !block_given?
          @text
        else
          @text = block
        end
      end

      def render(doc)
        doc.start_new_page(margin: PAGE_MARGIN)
        @page_number = doc.page_number

        inner_box(doc) do
          TextRenderer.new(doc, &text).render
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
prawn-manual_builder-0.4.0 lib/prawn/manual_builder/peritext.rb