rx_sliml 0.1.1 → 0.2.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
- 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