Class: Bidi2pdfRails::Services::RenderOptionsHandlerSerializer

Inherits:
ActiveJob::Serializers::ObjectSerializer
  • Object
show all
Defined in:
lib/bidi2pdf_rails/services/render_options_handler_serializer.rb

Instance Method Summary collapse

Instance Method Details

#deserialize(hash) ⇒ Object



15
16
17
# File 'lib/bidi2pdf_rails/services/render_options_handler_serializer.rb', line 15

def deserialize(hash)
  ::Bidi2pdfRails::Services::RenderOptionsHandler.new(hash["filename"], hash["options"].with_indifferent_access, nil)
end

#serialize(options_handler) ⇒ Object

Raises:

  • (ArgumentError)


6
7
8
9
10
11
12
13
# File 'lib/bidi2pdf_rails/services/render_options_handler_serializer.rb', line 6

def serialize(options_handler)
  raise ArgumentError, "Inline HTML rendering must be performed with render_inline! before enqueueing the job. Without a URL specified, the HTML content cannot be generated in the background job context." if options_handler.inline_rendering_needed?

  super(
    "options" => options_handler.job_options,
    "filename" => options_handler.pdf.filename,
  )
end