rx_sliml 0.1.1 → 0.2.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
- SHA1:
3
- metadata.gz: 73fb59caf83116bc3e90656b31aca31dbd9f2789
4
- data.tar.gz: ac8bd04d3afa57ea97030318c85ad6d39a976357
2
+ SHA256:
3
+ metadata.gz: dc52e273fcef0300213f2821c28745faf859ee73a8e3171ff049ed38b6dec129
4
+ data.tar.gz: d7cf2e4b12bdb75cb1edc6ef444ef8f46d7fbb7998f89078032f63974dcaf2dc
5
5
  SHA512:
6
- metadata.gz: e77b3ab674a3a909acc315add7838112f01f4dadbf0006f9ed9ee8185391031cd487418ceceb0e833a2a2d80baa4a3e0d4aa8fd5e06e147dffa5757eaa489b35
7
- data.tar.gz: 7b9a949202bd5a8533f8083d9c8d432dfb8e28c1bb625427b76f0ac384f4a4e023c75bb948224365cd6721bf33075d053b5f7b317b6fa94947dced457cc00602
6
+ metadata.gz: 4ee8f3d53506336e200524ec1f486ede7eb622b7d252f7e3836743b7f9099c8a686cfa61973a5cbc330b4e2d945f6d612b261bc2f2d5bfd915f4e4ee09ca3078
7
+ data.tar.gz: 0bd0bffd3dd8ae2c27e00d728026e6c716eb4753a095dbe431b9defb70a3ae4ee088eab2f6942897bd7e69e95ada1997a9031d18b39a16be5e43d06b6b84bc82
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/rx_sliml.rb CHANGED
@@ -7,17 +7,41 @@ require 'rexle-builder'
7
7
  require 'nokogiri'
8
8
 
9
9
 
10
+ class RxSlimlException < Exception
11
+ end
12
+
10
13
  class RxSliml
11
14
 
12
15
  attr_reader :to_xslt, :to_html
13
16
 
14
- def initialize(sliml, rx=nil)
17
+ def initialize(sliml=nil, obj=nil, fields: nil)
15
18
 
16
- @rx = (rx.is_a?(Kvx) ? rx : rx.to_kvx) if rx
19
+ # assumes the obj is either a Kvx object or responds to :to_kvx
20
+ #
21
+ @rx = if obj then
22
+
23
+ if obj.is_a? Kvx then
24
+ obj
25
+ elsif obj.respond_to? :to_kvx
26
+ obj.to_kvx
27
+ elsif obj.respond_to? :to_xml
28
+ obj
29
+ else
30
+ raise RxSlimlException, 'reference object not recognised'
31
+ end
32
+ end
33
+
34
+ if sliml.nil? and fields.nil? then
35
+ raise RxSlimlException, 'RxSliml: please enter a sliml string or ' +
36
+ 'an array of fields'
37
+ end
38
+
39
+ sliml ||= create_sliml(fields)
40
+ @sliml = sliml
17
41
 
18
42
  sliml.gsub!(/\{[^\}]+/) do |x|
19
43
  x.gsub(/["']?(\S*)\$(\w+)([^"']*)["']?/,'\'\1{\2}\3\'')
20
- end
44
+ end
21
45
 
22
46
  xml = LineTree.new(sliml).to_xml declaration: false, pretty: true
23
47
 
@@ -26,8 +50,14 @@ class RxSliml
26
50
  @to_xslt = build_xslt
27
51
 
28
52
  xslt = Nokogiri::XSLT(@to_xslt)
29
- @to_html = xslt.transform(Nokogiri::XML(@rx.to_xml)) if rx
30
-
53
+ @to_html = xslt.transform(Nokogiri::XML(@rx.to_xml)) if @rx
54
+
55
+ end
56
+
57
+ def to_sliml()
58
+
59
+ @sliml
60
+
31
61
  end
32
62
 
33
63
 
@@ -90,4 +120,12 @@ class RxSliml
90
120
  xml2.sub('<rec_template/>', @recxsl)
91
121
  end
92
122
 
93
- end
123
+ def create_sliml(fields)
124
+
125
+ lines = ['dl']
126
+ lines << fields.map {|field| " dt %s:\n dd $%s\n" % ([field.to_s]*2) }
127
+ lines.join("\n")
128
+
129
+ end
130
+
131
+ end
data.tar.gz.sig CHANGED
Binary file
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.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -10,91 +10,75 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
- YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
- 8ixkARkWAmV1MB4XDTE1MTAzMDAwNTA1OFoXDTE2MTAyOTAwNTA1OFowSDESMBAG
16
- A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
- EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBALTiKYj+hQdX/LsReVh6ukmO3sc3CqlbS72WCyysC4T9aqnXv6D4qwEtWMya
19
- 4gGRldluHlAqjMcWyeK9/XQbjya25p1UdXYHpCdG3SOpjFmub4KmCDS1u3ctnmdE
20
- zU5ztucWONl1G9+QO8LNg7+szACpPMwuU3QQ2Z+Jd8uzsH1COMtR52n+WFcX3Vnw
21
- JY/WCYA7/Lbxau3H65fugHnUm62MbRGSc1t2eV6xr0CQwVUBW+r8NPqfE/FgbEtG
22
- mLn1kYQTCR103Q7Ae4yv6IsdOq9Pxjo70KCKWtciQtAgMBxeg5eqLtNPnPK6X9/2
23
- EJYdoCGjOiTMIu0uKTGbx+VMujkCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
- DwQEAwIEsDAdBgNVHQ4EFgQUXS098rtmVMud5e3cUw0OcXtZ5W0wJgYDVR0RBB8w
25
- HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAXAj/1FBE
27
- cmQ2HID5p3fLt+Wmo7BYSV1F59deunvDbF3X5Mja9JHh3iwRZLMQA4AbyhbPWkHH
28
- qSE7VFY1mm7uKR5NDZ+qiQS08pJ7hL+dxL1pB8YceES4XHct8WVqEjebGkD23Dik
29
- w92HGrTa/V9kIzKwj3PkNz6bFC2Dn59zyScUlIbMW/lG72Z+KkeGbZkefr6QU0vl
30
- 3k7owvACTXTe9IntptiuY5ufPofXERZL6mg+8w6/SCHo6yrfubKgQkzjw/8TagWM
31
- FT2L1UuLQI0PFh+XOwI2lbfTOP+usTP80eftlpq5IjCCrKzeGiUzU5l5W929Z4F6
32
- yfw1WETOqB1VrQ==
13
+ MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjEwMjEyMTMxMzQwWhcN
15
+ MjIwMjEyMTMxMzQwWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCnGCXW
17
+ U4GSWq0UJMgWSok7MA8SAW8CGfr/KIARx9Da6pTDGtzGgcAH7M6LkvfcPW47fSGr
18
+ OEdeOWiaKSMd8kVQNo7qZXBZKRCOK/MgMsW68yhYqO3Sc+NZGWss4rnP9hDpLAmG
19
+ VJUZXMKlcr4ayQ/J34ZygAkq+oho67X7QRltZb7Q1ztatftTFUfbK9IZD5QZDSi0
20
+ x9AyZwCYD7kBpWZtVikc+ogOk43bC8nizHuJcMnre9NbkUcehewHPaC+TsPlBKv9
21
+ rmvBuaFwrHpWn6+ckC7jJ4lOxYGSfj2cpvBlp0mONKfuqAzzebOAvpqnG6K6VOdj
22
+ dyMnHirDiovbnLso8nEEfl/7dYi3S9PQmTWGniS7NGl9iiEMnubZRtccaLpTg6jd
23
+ tu594m1ECzcSntaQGilNLvGXNFrn0TZDmBFpkaSaH29V4Lp0ILJxC3iOK/qn41wM
24
+ awwytU6VOCIgNB7eUG9VaO0RUBCJVsBwvwMAwM18H/0KhiOEHDivXA1I9GsCAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUqStvkZVI
26
+ ASzaFBjuCxgCS0/emPUwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
+ c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
+ BgkqhkiG9w0BAQsFAAOCAYEAkZOp9drR+s6zxyiM/liBGPVmHITm8BtEfEWEn6uM
29
+ ZeONiem57j+mXSmby0BMMfaxKKlZp9y62Nnar64+8YpxOMPReSbwhPPgDlof8fh5
30
+ YIsVgNgFiu7W1LGhPswqrCBVy015ZHpLQCfI3pf8Ex1+vEV3iuO0iK0Ubz2SfLAA
31
+ nD/PLlJqYP+8Fa3IZNBHKCCm1U11GCoGr6gS8lgeyNWqwVNNBNUaRn99SQ5sI4P4
32
+ CKrsrY6+NDHuBZqm0Rfq75dKFljq2O9JfTjugZw2wMymMQX56tYSiaorAcRwPGYw
33
+ DYbj3Qil/nMs3qrS4rL69LqAdo0DL2Dg3YmrLlGYagHkWmYP30niN2xaEFToKUNw
34
+ M5u2RsdaP86VXWKYJ4dBmhsRoG6RHApj4paThe8N5tClDlq+FoF2tLsts16RZGgu
35
+ k8AGLEdGamYYeNF1PX6Q8n1k34S0m5Ty0Jns92XI3ohbcdH9LFweWw4i1qCFqQC8
36
+ cz+lZHiCYH6ZIHv/0vgLU2Tx
33
37
  -----END CERTIFICATE-----
34
- date: 2015-10-31 00:00:00.000000000 Z
38
+ date: 2022-01-26 00:00:00.000000000 Z
35
39
  dependencies:
36
- - !ruby/object:Gem::Dependency
37
- name: rexle-builder
38
- requirement: !ruby/object:Gem::Requirement
39
- requirements:
40
- - - "~>"
41
- - !ruby/object:Gem::Version
42
- version: '0.2'
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- version: 0.2.1
46
- type: :runtime
47
- prerelease: false
48
- version_requirements: !ruby/object:Gem::Requirement
49
- requirements:
50
- - - "~>"
51
- - !ruby/object:Gem::Version
52
- version: '0.2'
53
- - - ">="
54
- - !ruby/object:Gem::Version
55
- version: 0.2.1
56
40
  - !ruby/object:Gem::Dependency
57
41
  name: nokogiri
58
42
  requirement: !ruby/object:Gem::Requirement
59
43
  requirements:
60
44
  - - "~>"
61
45
  - !ruby/object:Gem::Version
62
- version: '1.6'
46
+ version: '1.11'
63
47
  - - ">="
64
48
  - !ruby/object:Gem::Version
65
- version: 1.6.2.1
49
+ version: 1.11.1
66
50
  type: :runtime
67
51
  prerelease: false
68
52
  version_requirements: !ruby/object:Gem::Requirement
69
53
  requirements:
70
54
  - - "~>"
71
55
  - !ruby/object:Gem::Version
72
- version: '1.6'
56
+ version: '1.11'
73
57
  - - ">="
74
58
  - !ruby/object:Gem::Version
75
- version: 1.6.2.1
59
+ version: 1.11.1
76
60
  - !ruby/object:Gem::Dependency
77
61
  name: kvx
78
62
  requirement: !ruby/object:Gem::Requirement
79
63
  requirements:
80
64
  - - "~>"
81
65
  - !ruby/object:Gem::Version
82
- version: '0.5'
66
+ version: '1.0'
83
67
  - - ">="
84
68
  - !ruby/object:Gem::Version
85
- version: 0.5.10
69
+ version: 1.0.1
86
70
  type: :runtime
87
71
  prerelease: false
88
72
  version_requirements: !ruby/object:Gem::Requirement
89
73
  requirements:
90
74
  - - "~>"
91
75
  - !ruby/object:Gem::Version
92
- version: '0.5'
76
+ version: '1.0'
93
77
  - - ">="
94
78
  - !ruby/object:Gem::Version
95
- version: 0.5.10
79
+ version: 1.0.1
96
80
  description:
97
- email: james@r0bertson.co.uk
81
+ email: digital.robertson@gmail.com
98
82
  executables: []
99
83
  extensions: []
100
84
  extra_rdoc_files: []
@@ -120,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
104
  version: '0'
121
105
  requirements: []
122
106
  rubyforge_project:
123
- rubygems_version: 2.4.8
107
+ rubygems_version: 2.7.10
124
108
  signing_key:
125
109
  specification_version: 4
126
110
  summary: Generates an XML stylesheet or HTML string from a RecordX object.
metadata.gz.sig CHANGED
Binary file