rx_sliml 0.1.1 → 0.1.2
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.tar.gz.sig +0 -0
- data/lib/rx_sliml.rb +24 -3
- 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: f55b7be5f4433e5f51f0a3c4b786797fc702ee3b
|
4
|
+
data.tar.gz: 666b2354a0163b78c8bad6eb2b5a303362fb5c25
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 621c03f72d0736fc0900add6a02ac5a9f5d5f8f69ff3be054b14346278b33d9d6d5109a7ba4e0024361a2006f52af446ace706fc371ac3f71478b16b1cb16e49
|
7
|
+
data.tar.gz: a4727cde82bcf0324a7a4d17d1bdeff9d68c1628916ecc29e49a4d6632314d5dc085aefaafcd0e4cfac862b0c5ac86940952369b2fe2a6f45cc4e95c10d57979
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/rx_sliml.rb
CHANGED
@@ -11,13 +11,20 @@ class RxSliml
|
|
11
11
|
|
12
12
|
attr_reader :to_xslt, :to_html
|
13
13
|
|
14
|
-
def initialize(sliml, rx=nil)
|
14
|
+
def initialize(sliml=nil, rx=nil, fields: nil)
|
15
15
|
|
16
16
|
@rx = (rx.is_a?(Kvx) ? rx : rx.to_kvx) if rx
|
17
|
+
|
18
|
+
if sliml.nil? and fields.nil? then
|
19
|
+
raise 'RxSliml: please enter a sliml string or an array of fields'
|
20
|
+
end
|
21
|
+
|
22
|
+
sliml ||= create_sliml(fields)
|
23
|
+
@sliml = sliml
|
17
24
|
|
18
25
|
sliml.gsub!(/\{[^\}]+/) do |x|
|
19
26
|
x.gsub(/["']?(\S*)\$(\w+)([^"']*)["']?/,'\'\1{\2}\3\'')
|
20
|
-
end
|
27
|
+
end
|
21
28
|
|
22
29
|
xml = LineTree.new(sliml).to_xml declaration: false, pretty: true
|
23
30
|
|
@@ -27,7 +34,13 @@ class RxSliml
|
|
27
34
|
|
28
35
|
xslt = Nokogiri::XSLT(@to_xslt)
|
29
36
|
@to_html = xslt.transform(Nokogiri::XML(@rx.to_xml)) if rx
|
30
|
-
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
def to_sliml()
|
41
|
+
|
42
|
+
@sliml
|
43
|
+
|
31
44
|
end
|
32
45
|
|
33
46
|
|
@@ -90,4 +103,12 @@ class RxSliml
|
|
90
103
|
xml2.sub('<rec_template/>', @recxsl)
|
91
104
|
end
|
92
105
|
|
106
|
+
def create_sliml(fields)
|
107
|
+
|
108
|
+
lines = ['dl']
|
109
|
+
lines << fields.map {|field| " dt %s:\n dd $%s\n" % ([field.to_s]*2) }
|
110
|
+
lines.join("\n")
|
111
|
+
|
112
|
+
end
|
113
|
+
|
93
114
|
end
|
metadata
CHANGED
metadata.gz.sig
CHANGED
Binary file
|