Class: Sablon::Processor::Document::InlineParagraphBlock
- Inherits:
-
Block
- Object
- Block
- Sablon::Processor::Document::InlineParagraphBlock
show all
- Defined in:
- lib/sablon/processor/document/blocks.rb
Instance Attribute Summary
Attributes inherited from Block
#end_field, #start_field
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Block
#body, enclosed_by, #initialize, parent, parent_selector, #replace
Class Method Details
.encloses?(start_field, end_field) ⇒ Boolean
129
130
131
|
# File 'lib/sablon/processor/document/blocks.rb', line 129
def self.encloses?(start_field, end_field)
super && parent(start_field) == parent(end_field)
end
|
Instance Method Details
#end_node ⇒ Object
165
166
167
|
# File 'lib/sablon/processor/document/blocks.rb', line 165
def end_node
@end_node ||= end_field.start_node
end
|
#process(env) ⇒ Object
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
# File 'lib/sablon/processor/document/blocks.rb', line 133
def process(env)
doc_node = Nokogiri::XML::Node.new('document', start_node.document)
doc_node.namespace = start_node.parent.namespace
p_node = Nokogiri::XML::Node.new('p', doc_node.document)
p_node.namespace = start_node.parent.namespace
p_node.children = Nokogiri::XML::NodeSet.new(p_node.document,
body.map(&:dup))
doc_node.children = Nokogiri::XML::NodeSet.new(p_node.document,
[p_node])
Processor::Document.process doc_node, env
if p_node.parent.nil?
replace_parent_node(doc_node.children)
[]
else
p_node.children
end
end
|
#remove_control_elements ⇒ Object
155
156
157
158
159
|
# File 'lib/sablon/processor/document/blocks.rb', line 155
def remove_control_elements
body.each(&:remove)
start_field.remove
end_field.remove
end
|
#start_node ⇒ Object
161
162
163
|
# File 'lib/sablon/processor/document/blocks.rb', line 161
def start_node
@start_node ||= start_field.end_node
end
|