Method: Marktable.map

Defined in:
lib/marktable.rb

.map(markdown_table, headers: true) ⇒ Object

Map over rows (all values will be converted to strings)



123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# File 'lib/marktable.rb', line 123

def self.map(markdown_table, headers: true)
  table = Table.new(markdown_table, headers: headers)
  mapped_rows = []
  
  table.each do |row|
    result = yield(row)
    # Ensure result is string-compatible
    if result.is_a?(Hash)
      result = result.transform_values(&:to_s)
    elsif result.is_a?(Array)
      result = result.map(&:to_s)
    end
    mapped_rows << result
  end
  
  table(mapped_rows, headers: headers)
end