rx_sliml 0.1.1 → 0.1.2

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 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