rexle 1.0.29 → 1.0.30

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 093ee31cda01f5cb6bed485d2bc513cf866373cf
4
- data.tar.gz: e54e0d493cfde0d7411b28f517164fafc1790981
3
+ metadata.gz: adfbe5ba547c8ef5b5b716913eb8df7bc0f29e36
4
+ data.tar.gz: c9bc98299843537f4ee19a319e5d2d8baf8c2599
5
5
  SHA512:
6
- metadata.gz: 8bede7d10f4ebe56bf7b05e34a9c8e020a81a4a789a1838f539d9c9508fd501ed8a1ac65bb0737622ccc66543532924e1e0416a23c13edb114ccedaafb32b7b0
7
- data.tar.gz: 329aab680819126a9f58589aeb18252388edd4320fb8da7fef6c656f6609088abdf234f96e7d252b54af8c12b80962ece05e06d0c896d9c39c3b7feb9fd79aa0
6
+ metadata.gz: 0e73d745b1edccc86dfb6590004838fe671327bcb1e3a527617bd7b686892642d73d1b2ff7d4f85a495f4cf8160be0361e400638aa6e4ce463a50e64009c7483
7
+ data.tar.gz: 04d378818b56ed73dc244c13f674efa8e46bae7e75f7e7bcf23e5268e4d553e5a85546f0f5c773f9752f0b8a4ce767cbd092c9ed4500f764b77efdedcb85af3d
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/lib/rexle.rb CHANGED
@@ -12,6 +12,9 @@ include REXML
12
12
 
13
13
  # modifications:
14
14
 
15
+ # 26-Oct-2014: bug fix: XML output containing a class attribute,
16
+ # now appears as a string. Empty nodes are
17
+ # now displayed as self-closing tags.
15
18
  # 21-Oct-2014: partial feature: An Xpath containing //preceding-sibling and
16
19
  # //following-sibling now works
17
20
  # 19-Oct-2014: feature: An XPath containing the attribute @class is
@@ -94,7 +97,9 @@ module XMLhelper
94
97
  def doc_print(children, declaration=true)
95
98
 
96
99
  body = (children.nil? or children.empty? or children.is_an_empty_string? ) ? '' : scan_print(children).join
97
- a = self.root.attributes.to_a.map{|k,v| "%s='%s'" % [k,v]}
100
+ a = self.root.attributes.to_a.map do |k,v|
101
+ "%s='%s'" % [k,(v.is_a?(String) ? v : v.join(' '))]
102
+ end
98
103
  xml = "<%s%s>%s</%s>" % [self.root.name, a.empty? ? '' : \
99
104
  ' ' + a.join(' '), body, self.root.name]
100
105
 
@@ -108,7 +113,11 @@ module XMLhelper
108
113
  def doc_pretty_print(children, declaration=true)
109
114
 
110
115
  body = pretty_print(children,2).join
111
- a = self.root.attributes.to_a.map{|k,v| "%s='%s'" % [k,v]}
116
+
117
+ a = self.root.attributes.to_a.map do |k,v|
118
+ "%s='%s'" % [k,(v.is_a?(String) ? v : v.join(' '))]
119
+ end
120
+
112
121
  ind = "\n "
113
122
  xml = "<%s%s>%s%s%s</%s>" % [self.root.name, a.empty? ? '' : \
114
123
  ' ' + a.join(' '), ind, body, "\n", self.root.name]
@@ -138,7 +147,9 @@ module XMLhelper
138
147
  "<![CDATA[%s]]>" % x.value
139
148
  else
140
149
 
141
- a = x.attributes.to_a.map{|k,v| "%s='%s'" % [k,v]}
150
+ a = x.attributes.to_a.map do |k,v|
151
+ "%s='%s'" % [k,(v.is_a?(String) ? v : v.join(' '))]
152
+ end
142
153
  tag = x.name + (a.empty? ? '' : ' ' + a.join(' '))
143
154
 
144
155
  if (x.value and x.value.length > 0) \
@@ -196,20 +207,27 @@ module XMLhelper
196
207
  "<![CDATA[%s]]>" % x.value
197
208
  else
198
209
  #return ["<%s/>" % x.name] if x.value = ''
199
- a = x.attributes.to_a.map{|k,v| "%s='%s'" % [k,v]}
210
+ a = x.attributes.to_a.map do |k,v|
211
+ "%s='%s'" % [k,(v.is_a?(String) ? v : v.join(' '))]
212
+ end
200
213
  a ||= []
201
214
  tag = x.name + (a.empty? ? '' : ' ' + a.join(' '))
202
-
203
215
  start = i > 0 ? ("\n" + ' ' * (indent - 1)) : ''
216
+
217
+ if (x.value and x.value.length > 0) \
218
+ or (x.children and x.children.length > 0 \
219
+ and not x.children.is_an_empty_string?) then
204
220
 
205
- ind1 = (x.children and x.children.grep(Rexle::Element).length > 0) ?
206
- ("\n" + ' ' * indent) : ''
207
-
208
- out = ["%s<%s>%s" % [start, tag, ind1]]
209
- out << pretty_print(x.children, (indent + 1).to_s.clone)
210
- ind2 = (ind1 and ind1.length > 0) ? ("\n" + ' ' * (indent - 1)) : ''
211
- out << "%s</%s>" % [ind2, x.name]
212
- out
221
+ ind1 = (x.children and x.children.grep(Rexle::Element).length > 0) ?
222
+ ("\n" + ' ' * indent) : ''
223
+
224
+ out = ["%s<%s>%s" % [start, tag, ind1]]
225
+ out << pretty_print(x.children, (indent + 1).to_s.clone)
226
+ ind2 = (ind1 and ind1.length > 0) ? ("\n" + ' ' * (indent - 1)) : ''
227
+ out << "%s</%s>" % [ind2, x.name]
228
+ else
229
+ out = ["%s<%s/>" % [start, tag]]
230
+ end
213
231
  end
214
232
  elsif x.is_a? String then
215
233
  x.sub(/^[\n\s]+$/,'')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rexle
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.29
4
+ version: 1.0.30
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -31,7 +31,7 @@ cert_chain:
31
31
  UOGKUMV5RApHDnC0ywMYNe0HK7qMSTP5YLKs8JUjNxpc5jl8+o3D3sHkNN4DzbQm
32
32
  jVfzDZ+niKvAUA==
33
33
  -----END CERTIFICATE-----
34
- date: 2014-10-21 00:00:00.000000000 Z
34
+ date: 2014-10-26 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rexleparser
@@ -42,7 +42,7 @@ dependencies:
42
42
  version: '0.4'
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
- version: 0.4.16
45
+ version: 0.4.18
46
46
  type: :runtime
47
47
  prerelease: false
48
48
  version_requirements: !ruby/object:Gem::Requirement
@@ -52,7 +52,7 @@ dependencies:
52
52
  version: '0.4'
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: 0.4.16
55
+ version: 0.4.18
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: dynarex-parser
58
58
  requirement: !ruby/object:Gem::Requirement
@@ -122,7 +122,7 @@ dependencies:
122
122
  version: '0.1'
123
123
  - - ">="
124
124
  - !ruby/object:Gem::Version
125
- version: 0.1.0
125
+ version: 0.1.3
126
126
  type: :runtime
127
127
  prerelease: false
128
128
  version_requirements: !ruby/object:Gem::Requirement
@@ -132,7 +132,7 @@ dependencies:
132
132
  version: '0.1'
133
133
  - - ">="
134
134
  - !ruby/object:Gem::Version
135
- version: 0.1.0
135
+ version: 0.1.3
136
136
  description:
137
137
  email: james@r0bertson.co.uk
138
138
  executables: []
metadata.gz.sig CHANGED
Binary file