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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 73fb59caf83116bc3e90656b31aca31dbd9f2789
4
- data.tar.gz: ac8bd04d3afa57ea97030318c85ad6d39a976357
3
+ metadata.gz: f55b7be5f4433e5f51f0a3c4b786797fc702ee3b
4
+ data.tar.gz: 666b2354a0163b78c8bad6eb2b5a303362fb5c25
5
5
  SHA512:
6
- metadata.gz: e77b3ab674a3a909acc315add7838112f01f4dadbf0006f9ed9ee8185391031cd487418ceceb0e833a2a2d80baa4a3e0d4aa8fd5e06e147dffa5757eaa489b35
7
- data.tar.gz: 7b9a949202bd5a8533f8083d9c8d432dfb8e28c1bb625427b76f0ac384f4a4e023c75bb948224365cd6721bf33075d053b5f7b317b6fa94947dced457cc00602
6
+ metadata.gz: 621c03f72d0736fc0900add6a02ac5a9f5d5f8f69ff3be054b14346278b33d9d6d5109a7ba4e0024361a2006f52af446ace706fc371ac3f71478b16b1cb16e49
7
+ data.tar.gz: a4727cde82bcf0324a7a4d17d1bdeff9d68c1628916ecc29e49a4d6632314d5dc085aefaafcd0e4cfac862b0c5ac86940952369b2fe2a6f45cc4e95c10d57979
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -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
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rx_sliml
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
metadata.gz.sig CHANGED
Binary file