Methods

Attributes

[R] fragment

Class Public methods

fragment_by_canonicalizing_content(content)

📝 Source code
# File actiontext/lib/action_text/content.rb, line 12
      def fragment_by_canonicalizing_content(content)
        fragment = ActionText::Attachment.fragment_by_canonicalizing_attachments(content)
        fragment = ActionText::AttachmentGallery.fragment_by_canonicalizing_attachment_galleries(fragment)
        fragment
      end
🔎 See on GitHub

new(content = nil, options = {})

📝 Source code
# File actiontext/lib/action_text/content.rb, line 19
    def initialize(content = nil, options = {})
      options.with_defaults! canonicalize: true

      if options[:canonicalize]
        @fragment = self.class.fragment_by_canonicalizing_content(content)
      else
        @fragment = ActionText::Fragment.wrap(content)
      end
    end
🔎 See on GitHub

Instance Public methods

==(other)

📝 Source code
# File actiontext/lib/action_text/content.rb, line 102
    def ==(other)
      if other.is_a?(self.class)
        to_s == other.to_s
      end
    end
🔎 See on GitHub

append_attachables(attachables)

📝 Source code
# File actiontext/lib/action_text/content.rb, line 55
    def append_attachables(attachables)
      attachments = ActionText::Attachment.from_attachables(attachables)
      self.class.new([self.to_s.presence, *attachments].compact.join("\n"))
    end
🔎 See on GitHub

as_json(*)

📝 Source code
# File actiontext/lib/action_text/content.rb, line 94
    def as_json(*)
      to_html
    end
🔎 See on GitHub

attachables()

📝 Source code
# File actiontext/lib/action_text/content.rb, line 49
    def attachables
      @attachables ||= attachment_nodes.map do |node|
        ActionText::Attachable.from_node(node)
      end
    end
🔎 See on GitHub

attachment_galleries()

📝 Source code
# File actiontext/lib/action_text/content.rb, line 39
    def attachment_galleries
      @attachment_galleries ||= attachment_gallery_nodes.map do |node|
        attachment_gallery_for_node(node)
      end
    end
🔎 See on GitHub

attachments()

📝 Source code
# File actiontext/lib/action_text/content.rb, line 33
    def attachments
      @attachments ||= attachment_nodes.map do |node|
        attachment_for_node(node)
      end
    end
🔎 See on GitHub
📝 Source code
# File actiontext/lib/action_text/content.rb, line 45
    def gallery_attachments
      @gallery_attachments ||= attachment_galleries.flat_map(&:attachments)
    end
🔎 See on GitHub

inspect()

📝 Source code
# File actiontext/lib/action_text/content.rb, line 98
    def inspect
      "#<#{self.class.name} #{to_s.truncate(25).inspect}>"
    end
🔎 See on GitHub
📝 Source code
# File actiontext/lib/action_text/content.rb, line 29
    def links
      @links ||= fragment.find_all("a[href]").map { |a| a["href"] }.uniq
    end
🔎 See on GitHub

render_attachment_galleries(&block)

📝 Source code
# File actiontext/lib/action_text/content.rb, line 67
    def render_attachment_galleries(&block)
      content = ActionText::AttachmentGallery.fragment_by_replacing_attachment_gallery_nodes(fragment) do |node|
        block.call(attachment_gallery_for_node(node))
      end
      self.class.new(content, canonicalize: false)
    end
🔎 See on GitHub

render_attachments(**options, &block)

📝 Source code
# File actiontext/lib/action_text/content.rb, line 60
    def render_attachments(**options, &block)
      content = fragment.replace(ActionText::Attachment::SELECTOR) do |node|
        block.call(attachment_for_node(node, **options))
      end
      self.class.new(content, canonicalize: false)
    end
🔎 See on GitHub

to_html()

📝 Source code
# File actiontext/lib/action_text/content.rb, line 82
    def to_html
      fragment.to_html
    end
🔎 See on GitHub

to_plain_text()

📝 Source code
# File actiontext/lib/action_text/content.rb, line 74
    def to_plain_text
      render_attachments(with_full_attributes: false, &:to_plain_text).fragment.to_plain_text
    end
🔎 See on GitHub

to_rendered_html_with_layout()

📝 Source code
# File actiontext/lib/action_text/content.rb, line 86
    def to_rendered_html_with_layout
      render partial: "action_text/content/layout", formats: :html, locals: { content: self }
    end
🔎 See on GitHub

to_s()

📝 Source code
# File actiontext/lib/action_text/content.rb, line 90
    def to_s
      to_rendered_html_with_layout
    end
🔎 See on GitHub

to_trix_html()

📝 Source code
# File actiontext/lib/action_text/content.rb, line 78
    def to_trix_html
      render_attachments(&:to_trix_attachment).to_html
    end
🔎 See on GitHub