38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
# File 'lib/panda/editor/content.rb', line 38
def generate_cached_content
renderer_options = {
autolink_urls: true,
custom_renderers: Panda::Editor.config.custom_renderers
}
if content.is_a?(String)
begin
parsed_content = JSON.parse(content)
self.cached_content = if parsed_content.is_a?(Hash) && parsed_content["blocks"].present?
Panda::Editor::Renderer.new(parsed_content, renderer_options).render
else
content
end
rescue JSON::ParserError
self.cached_content = content
end
elsif content.is_a?(Hash) && content["blocks"].present?
self.cached_content = Panda::Editor::Renderer.new(content, renderer_options).render
else
self.cached_content = content.to_s
end
end
|