sectionx 0.2.2 → 0.2.3
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
- checksums.yaml.gz.sig +0 -0
- data/lib/sectionx.rb +34 -26
- data.tar.gz.sig +0 -0
- metadata +1 -1
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 18ba024193f2b8e20e98abdbc95a62066b7225a9
|
4
|
+
data.tar.gz: 3657688b3c3ad30593a5f140b53d7eee9c353ca5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b5cbc940c639cc7a79829d811f0cc2eb9660923e314e45c0c939332387aff154bcf71e16e8a8f780fdffac6e468224be852e16bc03191a83d8421615f95423e
|
7
|
+
data.tar.gz: dcb5ea50fa71f42603c7c94759e40be38be0d22daed0cd845765b9bb3d907abcdd6e6a9266fe6549cfd49de8d51087dd6c82aa347eef361796fac05d8c10e1d3
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/sectionx.rb
CHANGED
@@ -12,10 +12,16 @@ class SectionX
|
|
12
12
|
|
13
13
|
attr_reader :summary, :sections
|
14
14
|
|
15
|
-
def initialize(
|
15
|
+
def initialize(x=nil)
|
16
16
|
|
17
|
-
if
|
18
|
-
|
17
|
+
@doc = if x.is_a? String then
|
18
|
+
buffer, _ = RXFHelper.read x
|
19
|
+
Rexle.new buffer
|
20
|
+
elsif x.is_a? Rexle::Element then x
|
21
|
+
end
|
22
|
+
|
23
|
+
if @doc then
|
24
|
+
@summary, @sections = parse_root_node @doc.root
|
19
25
|
end
|
20
26
|
end
|
21
27
|
|
@@ -48,7 +54,7 @@ class SectionX
|
|
48
54
|
|
49
55
|
a2 = xml.send(id) do
|
50
56
|
xml.summary do
|
51
|
-
summary.each {|label, value| xml.send(label, value) }
|
57
|
+
summary.each {|label, value| xml.send(label, escape(value)) }
|
52
58
|
xml.recordx_type 'sectionx'
|
53
59
|
end
|
54
60
|
xml.sections do
|
@@ -56,7 +62,7 @@ class SectionX
|
|
56
62
|
xml.summary do
|
57
63
|
section1.each do |raw_x|
|
58
64
|
label, value = raw_x.split(/\s*:\s*/,2)
|
59
|
-
xml.send(label.downcase.gsub(/\s+/,'_'), value)
|
65
|
+
xml.send(label.downcase.gsub(/\s+/,'_'), escape(value))
|
60
66
|
end
|
61
67
|
end
|
62
68
|
xml.sections
|
@@ -66,7 +72,7 @@ class SectionX
|
|
66
72
|
xml.summary do
|
67
73
|
raw_rows.each do |raw_x|
|
68
74
|
label, value = raw_x.split(/\s*:\s*/,2)
|
69
|
-
xml.send(label.downcase.gsub(/\s+/,'_'), value)
|
75
|
+
xml.send(label.downcase.gsub(/\s+/,'_'), escape(value))
|
70
76
|
end
|
71
77
|
end
|
72
78
|
xml.sections
|
@@ -75,26 +81,9 @@ class SectionX
|
|
75
81
|
end
|
76
82
|
end
|
77
83
|
|
78
|
-
@doc =
|
79
|
-
|
80
|
-
@summary, @sections = parse_root_node(doc.root)
|
81
|
-
|
82
|
-
summary_methods = (summary.keys - self.public_methods)
|
84
|
+
@doc = Rexle.new a2
|
85
|
+
@summary, @sections = parse_root_node(@doc.root)
|
83
86
|
|
84
|
-
summary_methods.each do |x|
|
85
|
-
|
86
|
-
instance_eval "
|
87
|
-
|
88
|
-
def #{x.to_sym}()
|
89
|
-
@summary[:#{x}]
|
90
|
-
end
|
91
|
-
|
92
|
-
def #{x.to_s}=(v)
|
93
|
-
@summary[:#{x}] = v
|
94
|
-
@doc.root.element('summary/#{x.to_s}').text = v
|
95
|
-
end
|
96
|
-
"
|
97
|
-
end
|
98
87
|
self
|
99
88
|
end
|
100
89
|
|
@@ -122,7 +111,10 @@ class SectionX
|
|
122
111
|
|
123
112
|
private
|
124
113
|
|
125
|
-
|
114
|
+
def escape(v)
|
115
|
+
v.gsub('&','&').gsub('<','<').gsub('>','>')
|
116
|
+
end
|
117
|
+
|
126
118
|
def indent_heading(s, heading='#')
|
127
119
|
|
128
120
|
a = s.split(/(?=^\s*#{heading}\s*\w)/).map do |x|
|
@@ -148,6 +140,22 @@ class SectionX
|
|
148
140
|
def parse_root_node(e)
|
149
141
|
|
150
142
|
summary = RecordX.new e.xpath('summary/*')
|
143
|
+
summary_methods = (summary.keys - self.public_methods)
|
144
|
+
|
145
|
+
summary_methods.each do |x|
|
146
|
+
|
147
|
+
instance_eval "
|
148
|
+
|
149
|
+
def #{x.to_sym}()
|
150
|
+
@summary[:#{x}]
|
151
|
+
end
|
152
|
+
|
153
|
+
def #{x.to_s}=(v)
|
154
|
+
@summary[:#{x}] = v
|
155
|
+
@doc.root.element('summary/#{x.to_s}').text = v
|
156
|
+
end
|
157
|
+
"
|
158
|
+
end
|
151
159
|
|
152
160
|
sections = e.xpath('sections/section').map do |section|
|
153
161
|
SectionX.new section
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
metadata.gz.sig
CHANGED
Binary file
|