<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,13 +1,29 @@
-Barby makes barcodes
-
-## #    #  #   # ##   # #   ##   ##   # ### #   # ##   ### ## #   ## ### ### ##   ### # ##
-## #    #  #   # ##   # #   ##   ##   # ### #   # ##   ### ## #   ## ### ### ##   ### # ##
-## #    #  #   # ##   # #   ##   ##   # ### #   # ##   ### ## #   ## ### ### ##   ### # ##
-## #    #  #   # ##   # #   ##   ##   # ### #   # ##   ### ## #   ## ### ### ##   ### # ##
-## #    #  #   # ##   # #   ##   ##   # ### #   # ##   ### ## #   ## ### ### ##   ### # ##
-## #    #  #   # ##   # #   ##   ##   # ### #   # ##   ### ## #   ## ### ### ##   ### # ##
-## #    #  #   # ##   # #   ##   ##   # ### #   # ##   ### ## #   ## ### ### ##   ### # ##
-## #    #  #   # ##   # #   ##   ##   # ### #   # ##   ### ## #   ## ### ### ##   ### # ##
-## #    #  #   # ##   # #   ##   ##   # ### #   # ##   ### ## #   ## ### ### ##   ### # ##
-## #    #  #   # ##   # #   ##   ##   # ### #   # ##   ### ## #   ## ### ### ##   ### # ##
-           B          A          R          B          Y                                  
+Barby is a Ruby barcode generator. It does not depend on other libraries
+(for the core functionality) and is easily extentable.
+
+The barcode objects are separated from the process of generating graphical
+(or other) representations. A barcode's only responsibility is to provide
+a string representation consisting of 1s and 0s representing bars and spaces.
+This string can then be used to generate (for example) an image with the
+RMagickOutputter, or an ASCII string such as the one below.
+
+See Barby::Barcode and Barby::Outputter for more information.
+
+ require 'barby'
+ require 'barby/outputter/ascii_outputter'
+
+ barcode = Barby::Code128B.new('BARBY')
+ 
+ puts barcode.to_ascii
+
+ ## #    #  #   # ##   # #   ##   ##   # ### #   # ##   ### ## #   ## ### ### ##   ### # ##
+ ## #    #  #   # ##   # #   ##   ##   # ### #   # ##   ### ## #   ## ### ### ##   ### # ##
+ ## #    #  #   # ##   # #   ##   ##   # ### #   # ##   ### ## #   ## ### ### ##   ### # ##
+ ## #    #  #   # ##   # #   ##   ##   # ### #   # ##   ### ## #   ## ### ### ##   ### # ##
+ ## #    #  #   # ##   # #   ##   ##   # ### #   # ##   ### ## #   ## ### ### ##   ### # ##
+ ## #    #  #   # ##   # #   ##   ##   # ### #   # ##   ### ## #   ## ### ### ##   ### # ##
+ ## #    #  #   # ##   # #   ##   ##   # ### #   # ##   ### ## #   ## ### ### ##   ### # ##
+ ## #    #  #   # ##   # #   ##   ##   # ### #   # ##   ### ## #   ## ### ### ##   ### # ##
+ ## #    #  #   # ##   # #   ##   ##   # ### #   # ##   ### ## #   ## ### ### ##   ### # ##
+ ## #    #  #   # ##   # #   ##   ##   # ### #   # ##   ### ## #   ## ### ### ##   ### # ##
+            B          A          R          B          Y                                  </diff>
      <filename>README</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,29 @@
 module Barby
 
 
+  #The base class for all barcodes. It includes some method_missing magic
+  #that is used to find registered outputters.
+  #
+  #The only interface requirement of a barcode class is that is has an encoding
+  #method that returns a string consisting of 1s and 0s representing the barcode's
+  #&quot;black&quot; and &quot;white&quot; parts. One digit is the width of the &quot;X dimension&quot;; that is,
+  #&quot;101100&quot; represents a single-width bar followed by a single-width space, then
+  #a bar and a space twice that width.
+  #
+  #Example implementation:
+  #
+  # class StaticBarcode &lt; Barby::Barcode1D
+  #  def encoding
+  #   '101100111000111100001'
+  #  end
+  # end
+  # 
+  # require 'barby/outputter/ascii_outputter'
+  # puts StaticBarcode.new.to_ascii(:height =&gt; 3)
+  #
+  # # ##  ###   ####    #
+  # # ##  ###   ####    #
+  # # ##  ###   ####    #
   class Barcode
   
     
@@ -58,9 +81,13 @@ module Barby
   end
 
 
+  #Most barcodes are one-dimensional. They have bars.
   class Barcode1D &lt; Barcode
   end
 
+  #There is currently only support for one-dimensional barcodes,
+  #but in the future it should also be possible to support barcodes
+  #with two dimensions.
   class Barcode2D &lt; Barcode
   end
 </diff>
      <filename>lib/barby/barcode.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,12 +8,22 @@ module Barby
   #Outputters can register methods on barcodes that will be associated with
   #them.
   #
-  #Yes, it needs a better name.
+  #The basic structure of an outputter class:
+  #
+  #  class FooOutputter &lt; Barby::Outputter
+  #    register :to_foo
+  #    def to_too
+  #      do_something_with(barcode.encoding)
+  #    end
+  #  end
+  #
+  #Barcode#to_foo will now be available to all barcodes
   class Outputter
 
     attr_accessor :barcode
 
 
+    #An outputter instance will have access to a Barcode
     def initialize(barcode)
       self.barcode = barcode
     end
@@ -52,7 +62,7 @@ module Barby
 
     #Converts the barcode's encoding (a string containing 1s and 0s)
     #to true and false values (1 == true == &quot;black bar&quot;)
-    def booleans
+    def booleans#:doc:
       barcode.encoding.split(//).map{|c| c == '1' }
     end
 </diff>
      <filename>lib/barby/outputter.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,6 +2,8 @@ require 'barby/outputter'
 
 module Barby
 
+  #Outputs an ASCII representation of the barcode. This is mostly useful for printing
+  #the barcode directly to the terminal for testing.
   class ASCIIOutputter &lt; Outputter
 
     register :to_ascii</diff>
      <filename>lib/barby/outputter/ascii_outputter.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>30c2bd9898d1d814e31f72bc0686fc5714943185</id>
    </parent>
  </parents>
  <author>
    <name>Tore Darell</name>
    <email>toredarell@gmail.com</email>
  </author>
  <url>http://github.com/toretore/barby/commit/6c381d754df8b766fdbb3830dff63157cf17f4e6</url>
  <id>6c381d754df8b766fdbb3830dff63157cf17f4e6</id>
  <committed-date>2008-03-17T14:05:14-07:00</committed-date>
  <authored-date>2008-03-17T14:05:14-07:00</authored-date>
  <message>Added some more documentation</message>
  <tree>817930f7882d35ee10e8e6ee485888d18332dff9</tree>
  <committer>
    <name>Tore Darell</name>
    <email>toredarell@gmail.com</email>
  </committer>
</commit>
