<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>lib/cards/dot_writer.rb</filename>
    </added>
    <added>
      <filename>lib/cards/graffle_writer.rb</filename>
    </added>
    <added>
      <filename>lib/cards/text_writer.rb</filename>
    </added>
    <added>
      <filename>spec/cards/dot_writer_spec.rb</filename>
    </added>
    <added>
      <filename>spec/cards/text_writer_spec.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -20,12 +20,13 @@ examples/numbers to omnigraffle
 examples/numbers to omnigraffle/generate_card_walls
 examples/numbers to omnigraffle/Voting Example.numbers
 lib/cards
-lib/cards/builder.rb
 lib/cards/card.rb
 lib/cards/card_wall.rb
 lib/cards/csv_builder.rb
 lib/cards/csv_parser.rb
+lib/cards/dot_writer.rb
 lib/cards/extensions.rb
+lib/cards/graffle_writer.rb
 lib/cards/layouts
 lib/cards/layouts/column_layout.rb
 lib/cards/layouts/nil_layout.rb
@@ -35,22 +36,18 @@ lib/cards/numbers_parser.rb
 lib/cards/swim_lanes.rb
 lib/cards/tabular_parser.rb
 lib/cards/text.rb
+lib/cards/text_writer.rb
 lib/cards/tracker_csv.rb
-lib/cards/writers
-lib/cards/writers/dot_writer.rb
-lib/cards/writers/graffle_writer.rb
-lib/cards/writers/text_writer.rb
 lib/cards.rb
 spec/cards
 spec/cards/card_spec.rb
 spec/cards/card_wall_spec.rb
 spec/cards/csv_parser_spec.rb
+spec/cards/dot_writer_spec.rb
 spec/cards/extensions_spec.rb
 spec/cards/numbers_parser_spec.rb
 spec/cards/swim_lanes_spec.rb
-spec/cards/writers
-spec/cards/writers/dot_writer_spec.rb
-spec/cards/writers/text_writer_spec.rb
+spec/cards/text_writer_spec.rb
 spec/fixtures
 spec/fixtures/Voting Example.numbers
 spec/spec_helper.rb
\ No newline at end of file</diff>
      <filename>Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,25 +1,29 @@
 $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__))
 
-# this is making this a mac only distro, I'm afraid
 require 'rubygems'
-gem 'rb-appscript'
-require 'appscript'
+gem 'activesupport'
+require 'activesupport'
 
 require 'cards/extensions'
-require 'cards/builder'
 require 'cards/csv_parser'
-require 'cards/numbers_parser'
 
+require 'cards/layouts/column_layout'
+require 'cards/layouts/row_layout'
+require 'cards/layouts/nil_layout'
+
+require 'cards/card'
 require 'cards/card_wall'
-# writers
 require 'cards/writers/dot_writer'
-require 'cards/writers/graffle_writer'
 
 # csv builders
 require 'cards/csv_builder'
 require 'cards/master_story_list'
 require 'cards/tracker_csv'
 
+# osx specific - require them explicitly
+#require 'cards/numbers_parser'
+#require 'cards/writers/graffle_writer'
+
 module Cards
   VERSION = &quot;0.9.1&quot;
 end
\ No newline at end of file</diff>
      <filename>lib/cards.rb</filename>
    </modified>
    <modified>
      <diff>@@ -38,7 +38,7 @@ module Cards
     private
     
     def my_layout
-      @layout || NilLayout.new
+      @layout || Layouts::NilLayout.new
     end
   end
 end
\ No newline at end of file</diff>
      <filename>lib/cards/card.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,5 @@
-require 'cards/builder'
-
 module Cards
-  class CardWall &lt; Builder
+  class CardWall
     def define(&amp;block)
       DefinitionContext.new(self).instance_eval(&amp;block)
       self
@@ -34,7 +32,7 @@ module Cards
       @handlers = []
       @layouts = []
       @root = Card.new(&quot;root&quot;)
-      @root.layout = RowLayout.new
+      @root.layout = Layouts::RowLayout.new
       @root.y = -1
       @last_cards = [@root]
     end
@@ -76,13 +74,13 @@ module Cards
       end
       
       def row(name, *options)
-        @this.add_handler(name, RowLayout.new(*options)) do |name, row|
+        @this.add_handler(name, Layouts::RowLayout.new(*options)) do |name, row|
           Card.new(name)
         end
       end
       
       def column(name, *options)
-        @this.add_handler(name, ColumnLayout.new(*options)) do |name, row|
+        @this.add_handler(name, Layouts::ColumnLayout.new(*options)) do |name, row|
           c = Card.new(name)
           yield c, row if block_given?
           c</diff>
      <filename>lib/cards/card_wall.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1,4 @@
 class String
-  def blank?
-    self.size == 0 || self.strip.size == 0
-  end
-
   def no_spaces
     self.gsub(' ', '\\ ')
   end
@@ -26,12 +22,6 @@ class String
 end
 
 class Array
-  def sum
-    s = 0
-    each {|i| s += i}
-    s
-  end
-  
   def widths
     map {|c| c.width}
   end
@@ -48,10 +38,6 @@ class Numeric
 end
 
 class Object
-  def blank?
-    nil?
-  end
-  
   def dump_methods(ignore = Object)
     ignore = ignore.instance_methods if ignore.is_a? Class
     p (methods - ignore).sort</diff>
      <filename>lib/cards/extensions.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,34 +1,36 @@
 require 'enumerator'
 
 module Cards
-  class ColumnLayout
-    def initialize(options = {})
-      @wrap_at = options.delete(:wrap_at) || 10
-    end
+  module Layouts
+    class ColumnLayout
+      def initialize(options = {})
+        @wrap_at = options.delete(:wrap_at) || 10
+      end
     
-    def layout(card)
-      x = card.x
-      card.children.each_slice(@wrap_at) do |slice|
-        y = card.y + 1
-        slice.each do |child|
-          child.x, child.y = x, y
-          child.layout
-          y += child.height
+      def layout(card)
+        x = card.x
+        card.children.each_slice(@wrap_at) do |slice|
+          y = card.y + 1
+          slice.each do |child|
+            child.x, child.y = x, y
+            child.layout
+            y += child.height
+          end
+          x += slice.widths.max
         end
-        x += slice.widths.max
       end
-    end
     
-    def width(card)
-      width = 0
-      card.children.each_slice(@wrap_at) do |slice|
-        width += slice.widths.max
+      def width(card)
+        width = 0
+        card.children.each_slice(@wrap_at) do |slice|
+          width += slice.widths.max
+        end
+        width
       end
-      width
-    end
     
-    def height(card)
-      card.children.heights.sum
+      def height(card)
+        card.children.heights.sum
+      end
     end
   end
-end
+end
\ No newline at end of file</diff>
      <filename>lib/cards/layouts/column_layout.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,14 +1,16 @@
 module Cards
-  class NilLayout
-    def layout(card)
-    end
+  module Layouts
+    class NilLayout
+      def layout(card)
+      end
     
-    def width(card)
-      1
-    end
+      def width(card)
+        1
+      end
     
-    def height(card)
-      1
+      def height(card)
+        1
+      end
     end
   end
 end
\ No newline at end of file</diff>
      <filename>lib/cards/layouts/nil_layout.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,21 +1,23 @@
 module Cards
-  class RowLayout
-    def layout(card)
-      x = card.x
-      card.children.each_with_index do |child, i|
-        child.x = x
-        child.y = card.y + 1
-        child.layout
-        x += child.width
+  module Layouts
+    class RowLayout
+      def layout(card)
+        x = card.x
+        card.children.each_with_index do |child, i|
+          child.x = x
+          child.y = card.y + 1
+          child.layout
+          x += child.width
+        end
       end
-    end
     
-    def width(card)
-      card.children.map {|c| c.width}.sum
-    end
+      def width(card)
+        card.children.map {|c| c.width}.sum
+      end
     
-    def height(card)
-      card.children.map {|c| c.height}.max
+      def height(card)
+        card.children.map {|c| c.height}.max
+      end
     end
   end
-end
+end
\ No newline at end of file</diff>
      <filename>lib/cards/layouts/row_layout.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,6 @@
+# this is making this a mac only distro, I'm afraid
+gem 'rb-appscript'
+require 'appscript'
 require 'cards/tabular_parser'
 
 module Cards</diff>
      <filename>lib/cards/numbers_parser.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1,5 @@
 require File.dirname(__FILE__) + '/../spec_helper'
 
-require 'cards/card'
-require 'cards/layouts/row_layout'
-require 'cards/layouts/column_layout'
 include Cards
 
 module Cards
@@ -68,7 +65,7 @@ de&quot;
   
   def new_card(name)
     c = Card.new(name)
-    c.layout = RowLayout.new
+    c.layout = Layouts::RowLayout.new
     c
   end
 end
@@ -77,8 +74,8 @@ describe Card, &quot;column layout&quot; do
   include Cards
   
   before do
-    a.layout = RowLayout.new
-    @layout = ColumnLayout.new
+    a.layout = Layouts::RowLayout.new
+    @layout = Layouts::ColumnLayout.new
   end
 
   it &quot;should have 1 column&quot; do
@@ -96,7 +93,7 @@ bcd
   
   it &quot;should show with 2 rows and then columns&quot; do
     a.add(b, c, d)
-    a.children.each {|child| child.layout = RowLayout.new}
+    a.children.each {|child| child.layout = Layouts::RowLayout.new}
     b.add(e, f, g)
     d.add(h)
     h.add(i, j)
@@ -112,7 +109,7 @@ efg h
   end
   
   it &quot;should wrap&quot; do
-    @layout = ColumnLayout.new(:wrap_at =&gt; 3)
+    @layout = Layouts::ColumnLayout.new(:wrap_at =&gt; 3)
     a.add(b, c, d)
     c.add(e, f, g, h, i, j, k)
     d.add(l, m)</diff>
      <filename>spec/cards/card_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,5 @@
 require File.dirname(__FILE__) + '/../spec_helper'
 
-require 'cards/card_wall'
 include Cards
 
 describe CardWall, &quot;row, col&quot; do</diff>
      <filename>spec/cards/card_wall_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 require File.dirname(__FILE__) + '/../spec_helper'
-require 'cards'
+require 'cards/numbers_parser'
 
 # not the best test, but it will do
 describe Cards::NumbersParser do</diff>
      <filename>spec/cards/numbers_parser_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,12 +1,9 @@
-$LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + &quot;/../lib&quot;)
+require File.dirname(__FILE__) + &quot;/../lib/cards&quot;
 
-require &quot;rubygems&quot;
 gem &quot;rspec&quot;
-gem &quot;mocha&quot;
 gem &quot;file_sandbox&quot;
 
-require 'cards/extensions'
-require 'cards/writers/text_writer'
+require 'cards/text_writer'
 
 Spec::Runner.configure do |config|
   #config.mock_with :mocha</diff>
      <filename>spec/spec_helper.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>lib/cards/builder.rb</filename>
    </removed>
    <removed>
      <filename>lib/cards/writers/dot_writer.rb</filename>
    </removed>
    <removed>
      <filename>lib/cards/writers/graffle_writer.rb</filename>
    </removed>
    <removed>
      <filename>lib/cards/writers/text_writer.rb</filename>
    </removed>
    <removed>
      <filename>spec/cards/writers/dot_writer_spec.rb</filename>
    </removed>
    <removed>
      <filename>spec/cards/writers/text_writer_spec.rb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>109e706f687337d317c5f25a870e8b28cffab6c4</id>
    </parent>
  </parents>
  <author>
    <name>jeremylightsmith</name>
    <email>jeremy.lightsmith@gmail.com</email>
  </author>
  <url>http://github.com/jeremylightsmith/cards/commit/eaf6b76d0376ff7e86dde6dd5a2d9a145e0d85ca</url>
  <id>eaf6b76d0376ff7e86dde6dd5a2d9a145e0d85ca</id>
  <committed-date>2009-03-29T21:11:52-07:00</committed-date>
  <authored-date>2009-03-29T21:11:52-07:00</authored-date>
  <message>making cards play nice w/ activesupport</message>
  <tree>42bbdf819b0455aa0ba3e17755f52b84ec9c39f2</tree>
  <committer>
    <name>jeremylightsmith</name>
    <email>jeremy.lightsmith@gmail.com</email>
  </committer>
</commit>
