2018-10-08 21:44:25 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2018-04-13 23:23:04 +00:00
|
|
|
module ActionText
|
2018-02-08 00:26:19 +00:00
|
|
|
module Serialization
|
|
|
|
extend ActiveSupport::Concern
|
|
|
|
|
|
|
|
class_methods do
|
|
|
|
def load(content)
|
|
|
|
new(content) if content
|
|
|
|
end
|
|
|
|
|
|
|
|
def dump(content)
|
|
|
|
case content
|
|
|
|
when nil
|
|
|
|
nil
|
|
|
|
when self
|
|
|
|
content.to_html
|
2021-08-30 19:45:32 +00:00
|
|
|
when ActionText::RichText
|
|
|
|
content.body.to_html
|
2018-02-08 00:26:19 +00:00
|
|
|
else
|
|
|
|
new(content).to_html
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# Marshal compatibility
|
|
|
|
|
|
|
|
class_methods do
|
|
|
|
alias_method :_load, :load
|
|
|
|
end
|
|
|
|
|
|
|
|
def _dump(*)
|
|
|
|
self.class.dump(self)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|