# frozen_string_literal: true

require "pandoc-ruby"

# app/services/markdown_to_docx_service.rb
class MarkdownToDocxService
  def self.call(markdown_content, title: "")
    # Prepend title to markdown content
    full_content = "# #{title}\n\n#{markdown_content}"

    # Convert directly from Markdown to Docx
    # Returns binary data string immediately
    PandocRuby.new(full_content, from: :markdown, to: :docx).to_s
  rescue StandardError => e
    Rails.logger.error("Pandoc Error: #{e.message}")
    nil
  end
end
