def cell(*args)
      if args.empty?
        raise ArgumentError, 'no args passed to #cell, you must pass at least a column name'
      end
      
      column = args.first.to_sym
      
      if args.size == 2
        @cells[column] = args.last
      elsif args.size == 1
        if @model && @model.respond_to?(column)
          @cells[column] = @model.send(column)
        else
          raise ArgumentError, "##{column} is not a method on #{@model.class.to_s}, call `csv.cell #{column}, value` instead"
        end
      else
        raise ArgumentError, 'you can pass a column or a column with a value to #cell'
      end
      
      @cells
    end
def cell(*args)
      if args.empty?
        raise ArgumentError, 'no args passed to #cell, you must pass at least a column name'
      end
      
      column = args.first.to_sym
      
      if args.size == 2
        @cells[column] = args.last
      elsif args.size == 1
        if @model && @model.respond_to?(column)
          @cells[column] = @model.send(column)
        else
          raise ArgumentError, "##{column} is not a method on #{@model.class.to_s}, call `csv.cell #{column}, value` instead"
        end
      else
        raise ArgumentError, 'you can pass a column or a column with a value to #cell'
      end
      
      @cells
    end
Public: add a cell to this Row
 If the Row has a @model defined passing just a Symbol will
 call that method on the @model and assign it to a column of
 the same name. Otherwise a value will need to be passed also

 `column` - Symbol of the column to add to value to
 `value` - data to assign to the cell (default: nil)

 Returns an Array of the Row's cells