Skip to Content Skip to Search

class ActionText::TrixAttachment

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

Public class methods

from_attributes(attributes)

Permalink
Source code GitHub
# 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

new(node)

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

Public instance methods

attributes()

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

to_html()

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

to_s()

Permalink
Source code GitHub
# File actiontext/lib/action_text/trix_attachment.rb, line 63
def to_s
  to_html
end

Definition files