rexle 0.9.83 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2fb7c4d6faed234c979f582375b10bf87261737a
4
- data.tar.gz: d2fe85adeee72eedec4b13f71504acc246719de5
3
+ metadata.gz: d522697ad86b01ad2c6508a38e3b43ac8a542aee
4
+ data.tar.gz: e28721a0311ba1b84a4f298aa2d341c068c47c7f
5
5
  SHA512:
6
- metadata.gz: cd221b997429d42cd58139550fa8d475ed65866ae75d6402bb998030ff278f8c77f2969e370f7475c3345eebfe0a3a5dd4ffda38d6abab00369fb4667db2b422
7
- data.tar.gz: cb62dbaf3a154895eb2ec4c0f2e1f9bde979297b10fb287a7ae663181b7412beecda58c4825e9c7f5199f7d87d4b8824f8bef711a254e562a851ddfb1dceb566
6
+ metadata.gz: 5b72e9db604f8f7ecfeee7097d1cf4be2cde4f0c7874f0b5193afec8682728da14d99b29c764fc228d72a6556a529b0c18f7b1b2f4783477b75ff3a6350e9743
7
+ data.tar.gz: 5640b27dbd1636915b3e6ef42e8ff15afef2cc37f19f9a66b3829f7d56d5d8917e6368e4cac3547a2e62e0fa9187a2cb2a1bb32708ebdc786a6357246caf68e2
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/lib/rexle.rb CHANGED
@@ -11,6 +11,9 @@ include REXML
11
11
 
12
12
  # modifications:
13
13
 
14
+ # modifications:
15
+
16
+ # 31-Dec-2013: feature: now supports processing instructions
14
17
  # 18-Dec-2013: feature fix: the result of text() is no longer unescaped
15
18
  # 13-Dec-2013: bug fix: elements with dashes can now be queried
16
19
  # 14-Nov-2013: feature: Implemented method content() to output XML as
@@ -63,7 +66,14 @@ module XMLhelper
63
66
 
64
67
  body = (children.nil? or children.empty? or children.is_an_empty_string? ) ? '' : scan_print(children).join
65
68
  a = self.root.attributes.to_a.map{|k,v| "%s='%s'" % [k,v]}
66
- "<%s%s>%s</%s>" % [self.root.name, a.empty? ? '' : ' ' + a.join(' '), body, self.root.name]
69
+ xml = "<%s%s>%s</%s>" % [self.root.name, a.empty? ? '' : \
70
+ ' ' + a.join(' '), body, self.root.name]
71
+
72
+ if self.instructions then
73
+ processing_instructions() + xml
74
+ else
75
+ xml
76
+ end
67
77
  end
68
78
 
69
79
  def doc_pretty_print(children)
@@ -71,7 +81,18 @@ module XMLhelper
71
81
  body = pretty_print(children,2).join
72
82
  a = self.root.attributes.to_a.map{|k,v| "%s='%s'" % [k,v]}
73
83
  ind = "\n "
74
- "<%s%s>%s%s%s</%s>" % [self.root.name, a.empty? ? '' : ' ' + a.join(' '), ind, body, "\n", self.root.name]
84
+ xml = "<%s%s>%s%s%s</%s>" % [self.root.name, a.empty? ? '' : \
85
+ ' ' + a.join(' '), ind, body, "\n", self.root.name]
86
+
87
+ if self.instructions then
88
+ processing_instructions("\n") + "\n" + xml
89
+ else
90
+ xml
91
+ end
92
+ end
93
+
94
+ def processing_instructions(s='')
95
+ self.instructions.map { |instruction| "<?%s %s?>" % instruction }.join s
75
96
  end
76
97
 
77
98
  def scan_print(nodes)
@@ -163,7 +184,7 @@ end
163
184
  class Rexle
164
185
  include XMLhelper
165
186
 
166
- attr_reader :prefixes
187
+ attr_reader :prefixes, :instructions
167
188
 
168
189
  def initialize(x=nil)
169
190
 
@@ -203,7 +224,7 @@ class Rexle
203
224
  include XMLhelper
204
225
 
205
226
  attr_accessor :name, :value, :parent
206
- attr_reader :child_lookup, :child_elements, :doc_id
227
+ attr_reader :child_lookup, :child_elements, :doc_id, :instructions
207
228
 
208
229
  alias original_clone clone
209
230
 
@@ -588,7 +609,7 @@ class Rexle
588
609
  e = self.element(s)
589
610
  result = e.value if e
590
611
  end
591
- #jr181313 result = CGI.unescape_html result.to_s
612
+ #result = CGI.unescape_html result.to_s
592
613
 
593
614
  def result.unescape()
594
615
  s = self.clone
@@ -888,9 +909,10 @@ class Rexle
888
909
  msg = o[:pretty] == false ? :doc_print : :doc_pretty_print
889
910
 
890
911
  r = ''
891
- r = "<?xml version='1.0' encoding='UTF-8'?>\n" if o[:declaration] == true
892
- r << method(msg).call(self.root.children)
912
+ r = "<?xml version='1.0' encoding='UTF-8'?>" if o[:declaration] == true
913
+ r << "\n" if o[:pretty] == true
893
914
 
915
+ r << method(msg).call(self.root.children).strip
894
916
  r
895
917
  end
896
918
 
@@ -917,11 +939,18 @@ class Rexle
917
939
  procs[recordx_type].call(x)
918
940
  else
919
941
 
920
- RexleParser.new(x).to_a
942
+ rp = RexleParser.new(x)
943
+ a = rp.to_a
944
+ @instructions = rp.instructions
945
+ return a
921
946
  end
922
947
  else
923
948
 
924
- RexleParser.new(x).to_a
949
+ rp = RexleParser.new(x)
950
+ a = rp.to_a
951
+ @instructions = rp.instructions
952
+ return a
953
+
925
954
  end
926
955
 
927
956
  end
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: 0.9.83
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -29,7 +29,7 @@ cert_chain:
29
29
  EgghkUCgC30KsgaYheoN5ILHCE52JXCfr1Qto26qUSdC49xWkxnQz2yrSq8z085Q
30
30
  h0bKDk/qqjLsNUnSPxhypj3wTgJNdHKX
31
31
  -----END CERTIFICATE-----
32
- date: 2013-12-18 00:00:00.000000000 Z
32
+ date: 2013-12-31 00:00:00.000000000 Z
33
33
  dependencies:
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: rexleparser
@@ -114,7 +114,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
114
114
  version: '0'
115
115
  requirements: []
116
116
  rubyforge_project:
117
- rubygems_version: 2.0.0.rc.2
117
+ rubygems_version: 2.1.11
118
118
  signing_key:
119
119
  specification_version: 4
120
120
  summary: Rexle is a simple XML parser written purely in Ruby
metadata.gz.sig CHANGED
Binary file