Class: Dommy::CharacterDataNode
- Inherits:
-
Object
- Object
- Dommy::CharacterDataNode
show all
- Includes:
- Node
- Defined in:
- lib/dommy/element.rb
Overview
CharacterData base — TextNode and CommentNode share the data / nodeValue / textContent API and ‘remove` / `cloneNode` semantics.
Constant Summary
Constants included
from Node
Node::ATTRIBUTE_NODE, Node::CDATA_SECTION_NODE, Node::COMMENT_NODE, Node::DOCUMENT_FRAGMENT_NODE, Node::DOCUMENT_NODE, Node::DOCUMENT_POSITION_CONTAINED_BY, Node::DOCUMENT_POSITION_CONTAINS, Node::DOCUMENT_POSITION_DISCONNECTED, Node::DOCUMENT_POSITION_FOLLOWING, Node::DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, Node::DOCUMENT_POSITION_PRECEDING, Node::DOCUMENT_TYPE_NODE, Node::ELEMENT_NODE, Node::PROCESSING_INSTRUCTION_NODE, Node::TEXT_NODE
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(document, nokogiri_node) ⇒ CharacterDataNode
Returns a new instance of CharacterDataNode.
162
163
164
165
|
# File 'lib/dommy/element.rb', line 162
def initialize(document, nokogiri_node)
@document = document
@__node__ = nokogiri_node
end
|
Instance Attribute Details
#__node__ ⇒ Object
Returns the value of attribute __node__.
160
161
162
|
# File 'lib/dommy/element.rb', line 160
def __node__
@__node__
end
|
Instance Method Details
#[](key) ⇒ Object
210
211
212
|
# File 'lib/dommy/element.rb', line 210
def [](key)
__js_get__(key.to_s)
end
|
#[]=(key, value) ⇒ Object
214
215
216
|
# File 'lib/dommy/element.rb', line 214
def []=(key, value)
__js_set__(key.to_s, value)
end
|
#__js_call__(method, _args) ⇒ Object
246
247
248
249
250
251
252
|
# File 'lib/dommy/element.rb', line 246
def __js_call__(method, _args)
case method
when "remove"
@__node__.unlink
nil
end
end
|
#__js_get__(key) ⇒ Object
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
|
# File 'lib/dommy/element.rb', line 218
def __js_get__(key)
case key
when "nodeType"
node_type
when "textContent"
@__node__.content
when "data"
@__node__.content
when "nodeValue"
@__node__.content
when "parentNode"
parent_node
when "nextSibling"
next_sibling
when "previousSibling"
previous_sibling
end
end
|
#__js_set__(key, value) ⇒ Object
237
238
239
240
241
242
243
244
|
# File 'lib/dommy/element.rb', line 237
def __js_set__(key, value)
case key
when "textContent", "data", "nodeValue"
write_data(value)
end
nil
end
|
#data ⇒ Object
Snake_case facade (CRuby idiomatic)
169
170
171
|
# File 'lib/dommy/element.rb', line 169
def data
@__node__.content
end
|
#data=(value) ⇒ Object
173
174
175
|
# File 'lib/dommy/element.rb', line 173
def data=(value)
write_data(value)
end
|
#next_sibling ⇒ Object
202
203
204
|
# File 'lib/dommy/element.rb', line 202
def next_sibling
@__node__.next && @document.wrap_node(@__node__.next)
end
|
#node_value ⇒ Object
177
178
179
|
# File 'lib/dommy/element.rb', line 177
def node_value
@__node__.content
end
|
#node_value=(value) ⇒ Object
181
182
183
|
# File 'lib/dommy/element.rb', line 181
def node_value=(value)
write_data(value)
end
|
#parent_node ⇒ Object
198
199
200
|
# File 'lib/dommy/element.rb', line 198
def parent_node
@__node__.parent && @document.wrap_node(@__node__.parent)
end
|
#previous_sibling ⇒ Object
206
207
208
|
# File 'lib/dommy/element.rb', line 206
def previous_sibling
@__node__.previous && @document.wrap_node(@__node__.previous)
end
|
#remove ⇒ Object
193
194
195
196
|
# File 'lib/dommy/element.rb', line 193
def remove
@__node__.unlink
nil
end
|
#text_content ⇒ Object
185
186
187
|
# File 'lib/dommy/element.rb', line 185
def text_content
@__node__.content
end
|
#text_content=(value) ⇒ Object
189
190
191
|
# File 'lib/dommy/element.rb', line 189
def text_content=(value)
write_data(value)
end
|