Sha256: b0d67fd1f246557227cc3edcadcaf1252c4211c3241a3878233a8db5e1ec5886
Contents?: true
Size: 1.06 KB
Versions: 22
Compression:
Stored size: 1.06 KB
Contents
# frozen_string_literal: true # :markup: markdown require "active_support/core_ext/object/try" module ActionText module Attachments module TrixConversion extend ActiveSupport::Concern class_methods do def fragment_by_converting_trix_attachments(content) Fragment.wrap(content).replace(TrixAttachment::SELECTOR) do |node| from_trix_attachment(TrixAttachment.new(node)) end end def from_trix_attachment(trix_attachment) from_attributes(trix_attachment.attributes) end end def to_trix_attachment(content = trix_attachment_content) attributes = full_attributes.dup attributes["content"] = content if content TrixAttachment.from_attributes(attributes) end private def trix_attachment_content if partial_path = attachable.try(:to_trix_content_attachment_partial_path) ActionText::Content.render(partial: partial_path, formats: :html, object: self, as: model_name.element) end end end end end
Version data entries
22 entries across 22 versions & 2 rubygems