def cell(options = {}, &block)
      raise StandardError.new('cell called outside of row block') unless @in_row

      options = @row_cell_options.merge(options || {})

      options = change_col(options)

      result = block_given? ? yield : (options[:value] || '')

      options.except!(:value)

      set_cell(result, nil, nil, options)
    end
def cell(options = {}, &block)
      raise StandardError.new('cell called outside of row block') unless @in_row

      options = @row_cell_options.merge(options || {})

      options = change_col(options)

      result = block_given? ? yield : (options[:value] || '')

      options.except!(:value)

      set_cell(result, nil, nil, options)
    end
Generates a cell in the current row.

 Valid options:

 value::
   The value to put in the cell, unless a code block is provided, in which case the result of the code block is used.

 rowspan::
   The number of rows for this cell to cover.

 colspan::
   The number of columns for this cell to cover.

 Additional options are embedded and passed on to Prawn::Table, see {Prawn PDF Table Manual}[http://prawnpdf.org/prawn-table-manual.pdf] for more information.