Class: DraftForge::CreateExport

Inherits:
Object
  • Object
show all
Defined in:
app/services/draft_forge/create_export.rb

Class Method Summary collapse

Class Method Details

.call(content_html: nil, content_json: nil, filename: nil) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'app/services/draft_forge/create_export.rb', line 5

def self.call(content_html: nil, content_json: nil, filename: nil)
  unless Export.table_exists?
    Rails.logger.error("[DraftForge] Missing `draft_forge_exports` table. Run `rails generate draft_forge:install` and `rails db:migrate`.")
    return
  end
  html = if content_json
           EditorJsRenderer.call(content_json)
         else
           content_html.to_s
         end
  name = filename.presence || 'document.pdf'

  export = Export.create!(status: :queued, requested_filename: name)
  ExportPdfJob.perform_later(export.id, html)

  export
end