Methods

Constants

ATTRIBUTES = %w( sgid contentType url href filename filesize width height previewable content ) + COMPOSED_ATTRIBUTES
ATTRIBUTE_TYPES = { "previewable" => ->(value) { value.to_s == "true" }, "filesize" => ->(value) { Integer(value.to_s, exception: false) || value }, "width" => ->(value) { Integer(value.to_s, exception: false) }, "height" => ->(value) { Integer(value.to_s, exception: false) }, :default => ->(value) { value.to_s } }
COMPOSED_ATTRIBUTES = %w( caption presentation )
SELECTOR = "[data-trix-attachment]"
TAG_NAME = "figure"

Attributes

[R] node

Class Public methods

from_attributes(attributes)

📝 Source code
# File actiontext/lib/action_text/trix_attachment.rb, line 19
      def from_attributes(attributes)
        attributes = process_attributes(attributes)

        trix_attachment_attributes = attributes.except(*COMPOSED_ATTRIBUTES)
        trix_attributes = attributes.slice(*COMPOSED_ATTRIBUTES)

        node = ActionText::HtmlConversion.create_element(TAG_NAME)
        node["data-trix-attachment"] = JSON.generate(trix_attachment_attributes)
        node["data-trix-attributes"] = JSON.generate(trix_attributes) if trix_attributes.any?

        new(node)
      end
🔎 See on GitHub

new(node)

📝 Source code
# File actiontext/lib/action_text/trix_attachment.rb, line 51
    def initialize(node)
      @node = node
    end
🔎 See on GitHub

Instance Public methods

attributes()

📝 Source code
# File actiontext/lib/action_text/trix_attachment.rb, line 55
    def attributes
      @attributes ||= attachment_attributes.merge(composed_attributes).slice(*ATTRIBUTES)
    end
🔎 See on GitHub

to_html()

📝 Source code
# File actiontext/lib/action_text/trix_attachment.rb, line 59
    def to_html
      ActionText::HtmlConversion.node_to_html(node)
    end
🔎 See on GitHub

to_s()

📝 Source code
# File actiontext/lib/action_text/trix_attachment.rb, line 63
    def to_s
      to_html
    end
🔎 See on GitHub