moxml 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.adoc +1 -0
- data/lib/moxml/adapter/nokogiri.rb +5 -0
- data/lib/moxml/adapter/oga.rb +9 -0
- data/lib/moxml/element.rb +4 -0
- data/lib/moxml/version.rb +1 -1
- data/spec/support/shared_examples/element.rb +20 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 590ee539c3419cf7c36cbd58a031a0939f2e6fc87637509c012292b3d8b09ebd
|
|
4
|
+
data.tar.gz: 5452e3fc378dbff7ab557dfae51553b287dbca33f2ddd07db38728ccf1e01a16
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 95cc452d7d28c352589a036c6a2a2aff8496e020c77b61da797d962a656466ca770480d94288af538fd541eba6b2d031e1d6b3ee9cb8c12b62da471f03258be4
|
|
7
|
+
data.tar.gz: 54dcff1b9875e3344d42a2cdaca136511d163d92b8303785b495a84b0c2dfcb7c9ea3853fc65c0b8a926d9ad0c00651fd0edd02be4d9db8980fd4171c6197418
|
data/README.adoc
CHANGED
|
@@ -171,6 +171,7 @@ element.name # Get element name
|
|
|
171
171
|
element.name = "new_name" # Set element name
|
|
172
172
|
element.text # Get text content
|
|
173
173
|
element.text = "content" # Set text content
|
|
174
|
+
element.inner_text # Get text content for current node only
|
|
174
175
|
element.inner_html # Get inner XML content
|
|
175
176
|
element.inner_html = xml # Set inner XML content
|
|
176
177
|
|
|
@@ -224,6 +224,11 @@ module Moxml
|
|
|
224
224
|
node.content
|
|
225
225
|
end
|
|
226
226
|
|
|
227
|
+
def inner_text(node)
|
|
228
|
+
text_children = node.children - node.element_children
|
|
229
|
+
text_children.map(&:content).join
|
|
230
|
+
end
|
|
231
|
+
|
|
227
232
|
def set_text_content(node, content)
|
|
228
233
|
node.native_content = content
|
|
229
234
|
end
|
data/lib/moxml/adapter/oga.rb
CHANGED
|
@@ -237,6 +237,15 @@ module Moxml
|
|
|
237
237
|
node.text
|
|
238
238
|
end
|
|
239
239
|
|
|
240
|
+
def inner_text(node)
|
|
241
|
+
if node.respond_to?(:inner_text)
|
|
242
|
+
node.inner_text
|
|
243
|
+
else
|
|
244
|
+
# Oga::XML::Text node for example
|
|
245
|
+
node.text
|
|
246
|
+
end
|
|
247
|
+
end
|
|
248
|
+
|
|
240
249
|
def set_text_content(node, content)
|
|
241
250
|
if node.respond_to?(:inner_text)
|
|
242
251
|
node.inner_text = content
|
data/lib/moxml/element.rb
CHANGED
data/lib/moxml/version.rb
CHANGED
|
@@ -106,5 +106,25 @@ RSpec.shared_examples "Moxml::Element" do
|
|
|
106
106
|
expect(element.to_xml).to include("text<child></child>more")
|
|
107
107
|
end
|
|
108
108
|
end
|
|
109
|
+
|
|
110
|
+
describe "complex element structures" do
|
|
111
|
+
it "creates nested paragraphs without namespaces" do
|
|
112
|
+
outer_p = doc.create_element("p")
|
|
113
|
+
inner_p = doc.create_element("p")
|
|
114
|
+
inner_p.add_child("Some text inside paragraph")
|
|
115
|
+
outer_p.add_child(inner_p)
|
|
116
|
+
|
|
117
|
+
expect(outer_p.to_xml).to include("<p>Some text inside paragraph</p>")
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
it "does not return text of child elements in root text" do
|
|
121
|
+
outer_p = doc.create_element("p")
|
|
122
|
+
inner_p = doc.create_element("p")
|
|
123
|
+
inner_p.add_child("Some text inside paragraph")
|
|
124
|
+
outer_p.add_child(inner_p)
|
|
125
|
+
expect(outer_p.inner_text).to eq("")
|
|
126
|
+
expect(inner_p.text).to include("Some text inside paragraph")
|
|
127
|
+
end
|
|
128
|
+
end
|
|
109
129
|
end
|
|
110
130
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: moxml
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-
|
|
11
|
+
date: 2025-02-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: 'Moxml is a unified XML manipulation library that provides a common API.
|
|
14
14
|
|