<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>examples/general/metadata-info.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -107,9 +107,10 @@ module Prawn
     # &lt;tt&gt;:skip_page_creation&lt;/tt&gt;:: Creates a document without starting the first page [false]
     # &lt;tt&gt;:compress&lt;/tt&gt;:: Compresses content streams before rendering them [false]
     # &lt;tt&gt;:background&lt;/tt&gt;:: An image path to be used as background on all pages [nil]
-    #
+    # &lt;tt&gt;:info&lt;/tt&gt;:: Generic hash allowing for custom metadata properties [nil]
+
     # Additionally, :page_size can be specified as a simple two value array giving
-    # the width and height of the document you are after in PDF Points.
+    # the width and height of the document you need in PDF Points.
     # 
     # Usage:
     #
@@ -125,13 +126,23 @@ module Prawn
     #   # New document, with background
     #   pdf = Prawn::Document.new(:background =&gt; &quot;#{Prawn::BASEDIR}/data/images/pigs.jpg&quot;)
     #
-    def initialize(options={},&amp;block)
-       Prawn.verify_options [:page_size, :page_layout, :left_margin,
-         :right_margin, :top_margin, :bottom_margin, :skip_page_creation,
-         :compress, :skip_encoding, :text_options, :background ], options
-
+    def initialize(options={},&amp;block)   
+       Prawn.verify_options [:page_size, :page_layout, :left_margin, 
+         :right_margin, :top_margin, :bottom_margin, :skip_page_creation, 
+         :compress, :skip_encoding, :text_options, :background, :info], options
+       
+       options[:info] ||= {}
+       options[:Creator] ||= &quot;Prawn&quot;
+       options[:Producer] = &quot;Prawn&quot;
+
+       options[:info].keys.each do |key|
+         if options[:info][key].kind_of?(String)
+           options[:info][key] = Prawn::LiteralString.new(options[:info][key])
+         end
+       end
+          
        @objects = []
-       @info    = ref(:Creator =&gt; &quot;Prawn&quot;, :Producer =&gt; &quot;Prawn&quot;)
+       @info    = ref(options[:info])
        @pages   = ref(:Type =&gt; :Pages, :Count =&gt; 0, :Kids =&gt; [])
        @root    = ref(:Type =&gt; :Catalog, :Pages =&gt; @pages)
        @page_size       = options[:page_size]   || &quot;LETTER&quot;</diff>
      <filename>lib/prawn/document.rb</filename>
    </modified>
    <modified>
      <diff>@@ -37,6 +37,10 @@ module Prawn
     when Prawn::LiteralString
       obj = obj.gsub(/[\\\n\(\)]/) { |m| &quot;\\#{m}&quot; }
       &quot;(#{obj})&quot;
+    when Time
+      obj = obj.strftime(&quot;D:%Y%m%d%H%M%S%z&quot;).chop.chop + &quot;'00'&quot;
+      obj = obj.gsub(/[\\\n\(\)]/) { |m| &quot;\\#{m}&quot; }
+      &quot;(#{obj})&quot;
     when String
       obj = &quot;\xFE\xFF&quot; + obj.unpack(&quot;U*&quot;).pack(&quot;n*&quot;) unless in_content_stream
       &quot;&lt;&quot; &lt;&lt; obj.unpack(&quot;H*&quot;).first &lt;&lt; &quot;&gt;&quot;</diff>
      <filename>lib/prawn/pdf_object.rb</filename>
    </modified>
    <modified>
      <diff>@@ -19,6 +19,11 @@ describe &quot;PDF Object Serialization&quot; do
     Prawn::PdfObject(1.214112421).should == &quot;1.214112421&quot; 
   end
   
+  it &quot;should convert a Ruby time object to a PDF timestamp&quot; do
+    t = Time.now
+    Prawn::PdfObject(t).should == t.strftime(&quot;(D:%Y%m%d%H%M%S%z&quot;).chop.chop + &quot;'00')&quot;
+  end
+  
   it &quot;should convert a Ruby string to PDF string when inside a content stream&quot; do       
     s = &quot;I can has a string&quot;
     PDF::Inspector.parse(Prawn::PdfObject(s, true)).should == s</diff>
      <filename>spec/pdf_object_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>444f5c8f6b7206f49e79ec4826713f71516a09c5</id>
    </parent>
  </parents>
  <author>
    <name>John Weathers</name>
    <email>john.weathers@systino.net</email>
  </author>
  <url>http://github.com/yob/prawn/commit/80b10bda08e51acef988cafd20123bc191feb2cf</url>
  <id>80b10bda08e51acef988cafd20123bc191feb2cf</id>
  <committed-date>2009-04-23T20:19:21-07:00</committed-date>
  <authored-date>2009-03-20T14:12:37-07:00</authored-date>
  <message>Add ability to set document metadata properties like &quot;Author&quot;, &quot;Title&quot;, &quot;Keywords&quot;, etc. with the option of specifying new non-standard properties as well as mentioned in the PDF spec

EDITS: Resolved conflict and dropped 'direct' option support.</message>
  <tree>98c2f8b635f52d2a640e801c7e2797b755e3af4f</tree>
  <committer>
    <name>Gregory Brown</name>
    <email>gregory.t.brown@gmail.com</email>
  </committer>
</commit>
