Class: ActionText::AttachmentGallery
- Inherits:
-
Object
- Object
- ActionText::AttachmentGallery
- Includes:
- ActiveModel::Model
- Defined in:
- lib/action_text/attachment_gallery.rb
Instance Attribute Summary collapse
-
#node ⇒ Object
readonly
Returns the value of attribute node.
Class Method Summary collapse
- .attachment_selector ⇒ Object
- .find_attachment_gallery_nodes(content) ⇒ Object
- .fragment_by_canonicalizing_attachment_galleries(content) ⇒ Object
- .fragment_by_replacing_attachment_gallery_nodes(content) ⇒ Object
- .from_node(node) ⇒ Object
- .selector ⇒ Object
Instance Method Summary collapse
- #attachments ⇒ Object
-
#initialize(node) ⇒ AttachmentGallery
constructor
A new instance of AttachmentGallery.
- #inspect ⇒ Object
- #size ⇒ Object
Constructor Details
#initialize(node) ⇒ AttachmentGallery
Returns a new instance of AttachmentGallery.
54 55 56 |
# File 'lib/action_text/attachment_gallery.rb', line 54 def initialize(node) @node = node end |
Instance Attribute Details
#node ⇒ Object (readonly)
Returns the value of attribute node.
52 53 54 |
# File 'lib/action_text/attachment_gallery.rb', line 52 def node @node end |
Class Method Details
.attachment_selector ⇒ Object
43 44 45 |
# File 'lib/action_text/attachment_gallery.rb', line 43 def "#{ActionText::Attachment.tag_name}[presentation=gallery]" end |
.find_attachment_gallery_nodes(content) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/action_text/attachment_gallery.rb', line 27 def (content) Fragment.wrap(content).find_all(selector).select do |node| node.children.all? do |child| if child.text? /\A(\n|\ )*\z/.match?(child.text) else child.matches? end end end end |
.fragment_by_canonicalizing_attachment_galleries(content) ⇒ Object
13 14 15 16 17 |
# File 'lib/action_text/attachment_gallery.rb', line 13 def (content) (content) do |node| "<#{TAG_NAME}>#{node.inner_html}</#{TAG_NAME}>" end end |
.fragment_by_replacing_attachment_gallery_nodes(content) ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/action_text/attachment_gallery.rb', line 19 def (content) Fragment.wrap(content).update do |source| (source).each do |node| node.replace(yield(node).to_s) end end end |
.from_node(node) ⇒ Object
39 40 41 |
# File 'lib/action_text/attachment_gallery.rb', line 39 def from_node(node) new(node) end |
.selector ⇒ Object
47 48 49 |
# File 'lib/action_text/attachment_gallery.rb', line 47 def selector "#{TAG_NAME}:has(#{} + #{})" end |
Instance Method Details
#attachments ⇒ Object
58 59 60 61 62 |
# File 'lib/action_text/attachment_gallery.rb', line 58 def @attachments ||= node.css(ActionText::AttachmentGallery.).map do |node| ActionText::Attachment.from_node(node).with_full_attributes end end |
#inspect ⇒ Object
68 69 70 |
# File 'lib/action_text/attachment_gallery.rb', line 68 def inspect "#<#{self.class.name} size=#{size.inspect}>" end |
#size ⇒ Object
64 65 66 |
# File 'lib/action_text/attachment_gallery.rb', line 64 def size .size end |