Class: Markdownator::Converters::Csv

Inherits:
Base
  • Object
show all
Defined in:
lib/markdownator/converters/csv.rb

Overview

Converts CSV into a GitHub-flavored Markdown table.

Instance Method Summary collapse

Instance Method Details

#accepts?(_io, stream_info) ⇒ Boolean

Returns:

  • (Boolean)


9
10
11
# File 'lib/markdownator/converters/csv.rb', line 9

def accepts?(_io, stream_info)
  matches?(stream_info, extensions: %w[csv], mimetypes: %w[text/csv application/csv])
end

#convert(io, stream_info, **_options) ⇒ Object



13
14
15
16
17
18
# File 'lib/markdownator/converters/csv.rb', line 13

def convert(io, stream_info, **_options)
  rows = CSV.parse(read_all(io, stream_info))
  Result.new(markdown: markdown_table(rows))
rescue CSV::MalformedCSVError => e
  raise FileConversionError, "Could not parse CSV: #{e.message}"
end