Module: ReactEmailRails::RenderProtocol

Extended by:
RenderProtocol
Included in:
RenderProtocol
Defined in:
lib/react_email_rails/render_protocol.rb

Instance Method Summary collapse

Instance Method Details

#compatible_metadata?(body) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
20
# File 'lib/react_email_rails/render_protocol.rb', line 17

def compatible_metadata?(body)
  body["protocolVersion"] == RENDER_PROTOCOL_VERSION &&
    body["packageVersion"] == VERSION
end

#compatible_response?(body) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/react_email_rails/render_protocol.rb', line 13

def compatible_response?(body)
  body["ok"] == true && compatible_metadata?(body)
end

#healthy_result?(result) ⇒ Boolean

Returns:

  • (Boolean)


9
10
11
# File 'lib/react_email_rails/render_protocol.rb', line 9

def healthy_result?(result)
  result.status.success? && compatible_response?(JSON.parse(result.stdout))
end

#mismatch_message(body) ⇒ Object



22
23
24
25
# File 'lib/react_email_rails/render_protocol.rb', line 22

def mismatch_message(body)
  "renderer version mismatch: expected react-email-rails #{VERSION} protocol #{RENDER_PROTOCOL_VERSION}, " \
    "got package #{body["packageVersion"].inspect} protocol #{body["protocolVersion"].inspect}"
end