Class: ActionText::AttachmentGallery
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
#persisted?
#append_features, #class_methods, extended, #included
#to_key, #to_model, #to_param, #to_partial_path
#errors, #initialize_dup, #invalid?, #valid?, #validate!, #validates_with
#assign_attributes
Constructor Details
Returns a new instance of AttachmentGallery.
41
42
43
|
# File 'actiontext/lib/action_text/attachment_gallery.rb', line 41
def initialize(node)
@node = node
end
|
Instance Attribute Details
Returns the value of attribute node
39
40
41
|
# File 'actiontext/lib/action_text/attachment_gallery.rb', line 39
def node
@node
end
|
Class Method Details
.find_attachment_gallery_nodes(content) ⇒ Object
22
23
24
25
26
27
28
29
30
31
32
|
# File 'actiontext/lib/action_text/attachment_gallery.rb', line 22
def find_attachment_gallery_nodes(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? ATTACHMENT_SELECTOR
end
end
end
end
|
.fragment_by_canonicalizing_attachment_galleries(content) ⇒ Object
8
9
10
11
12
|
# File 'actiontext/lib/action_text/attachment_gallery.rb', line 8
def fragment_by_canonicalizing_attachment_galleries(content)
fragment_by_replacing_attachment_gallery_nodes(content) do |node|
"<#{TAG_NAME}>#{node.inner_html}</#{TAG_NAME}>"
end
end
|
.fragment_by_replacing_attachment_gallery_nodes(content) ⇒ Object
14
15
16
17
18
19
20
|
# File 'actiontext/lib/action_text/attachment_gallery.rb', line 14
def fragment_by_replacing_attachment_gallery_nodes(content)
Fragment.wrap(content).update do |source|
find_attachment_gallery_nodes(source).each do |node|
node.replace(yield(node).to_s)
end
end
end
|
.from_node(node) ⇒ Object
34
35
36
|
# File 'actiontext/lib/action_text/attachment_gallery.rb', line 34
def from_node(node)
new(node)
end
|
Instance Method Details
#attachments ⇒ Object
45
46
47
48
49
|
# File 'actiontext/lib/action_text/attachment_gallery.rb', line 45
def attachments
@attachments ||= node.css(ATTACHMENT_SELECTOR).map do |node|
ActionText::Attachment.from_node(node).with_full_attributes
end
end
|
55
56
57
|
# File 'actiontext/lib/action_text/attachment_gallery.rb', line 55
def inspect
"#<#{self.class.name} size=#{size.inspect}>"
end
|
51
52
53
|
# File 'actiontext/lib/action_text/attachment_gallery.rb', line 51
def size
attachments.size
end
|