sectionx 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|