Sha256: 6d90ba376ac0ca715f6849d4096e7acd7b8423015cdc738529b866f7eb0ca6cd

Contents?: true

Size: 736 Bytes

Versions: 2

Compression:

Stored size: 736 Bytes

Contents

module PDF
  module Core
    class ObjectStore #:nodoc:
      alias __initialize initialize
      def initialize(opts = {})
        @objects = {}
        @identifiers = []

        load_file(opts[:template]) if opts[:template]

        @info ||= ref(opts[:info] || {}).identifier
        @root ||= ref(Type: :Catalog).identifier
        if opts[:print_scaling] == :none
          root.data[:ViewerPreferences] = { PrintScaling: :None }
        end
        if pages.nil?
          root.data[:Pages] = ref(Type: :Pages, Count: 0, Kids: [])
        end
      end

      alias __utf8? utf8? if method_defined? :utf8?
      def utf8?(str)
        str.force_encoding(::Encoding::UTF_8)
        str.valid_encoding?
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
prawn-templates-0.1.2 lib/pdf/core/object_store.rb
prawn-templates-0.1.1 lib/pdf/core/object_store.rb