14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/glimmer/dsl/web/general_element_expression.rb', line 14
def add_content(parent, keyword, *args, &block)
options = args.last.is_a?(Hash) ? args.last : {}
parent_original_add_child_mutation = parent&.add_child_mutation
parent&.add_child_mutation = options[:add_child_mutation] if options[:add_child_mutation]
if parent.bulk_render? || parent.rendered? || parent.skip_content_on_render_blocks?
return_value = super(parent, keyword, *args, &block)
parent.add_text_content(return_value, on_empty: true) if return_value.is_a?(String)
parent.post_add_content
return_value
else
parent.add_content_on_render(&block)
end
ensure
parent&.add_child_mutation = parent_original_add_child_mutation
end
|