def define_cell(name)
      method_name = name.gsub('-', '_')
      
      klass = class << self; self; end
      klass.class_eval do
        define_method(method_name) do |*args|
          if args.empty?
            @row.cells[name]
          else
            @row.cell(name, *args)
          end
        end
      end unless klass.method_defined?(method_name)
    end
def define_cell(name)
      method_name = name.gsub('-', '_')
      
      klass = class << self; self; end
      klass.class_eval do
        define_method(method_name) do |*args|
          if args.empty?
            @row.cells[name]
          else
            @row.cell(name, *args)
          end
        end
      end unless klass.method_defined?(method_name)
    end
Defines the builder method for the given cell name.  For example, if
 a cell with the name :title was defined, then the cell would be able
 to be read and written like so:

   row.title               #=> Accesses the title
   row.title "Page Title"  #=> Creates a new cell with "Page Title" as the content