alexa_modelmd 0.1.0

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: '0962283dce62f578e6098b4e9c1cf534310e8ecdc64d70c4c5c6283fe352d337'
4
+ data.tar.gz: 9678af1d084f391252d9df8617e57724454aa44c244228b7e704041a356049c1
5
+ SHA512:
6
+ metadata.gz: e7def1132cebf82be7d36532ee52f0584ac20fd3b65eaca1c523cbac6490c118b146270ef3610d7b89174592c9f8b758aeeba5c46f2f598cd0b571aaa591cf88
7
+ data.tar.gz: cc790962d939851a4a83fcecdd275f37d7ca42ee2746723acbe1a34e699c966877f43a9ecdfee0387c410791ce3b34a967469660bd68ff265b8b50d1f64b4813
checksums.yaml.gz.sig ADDED
Binary file
data.tar.gz.sig ADDED
Binary file
@@ -0,0 +1,95 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # file: alexa_modelmd.rb
4
+
5
+ # description: Using a WikiMd foramtted document, generates a basic Amazon
6
+ # Alexa model in XML format, as well as other formats ... soon.
7
+
8
+
9
+ require 'wiki_md'
10
+
11
+
12
+ class AlexaModelMd < WikiMd
13
+
14
+ class Intent
15
+
16
+ attr_reader :name, :utterances, :code
17
+
18
+ def initialize(s)
19
+
20
+ doc = Rexle.new("<root>%s</root>" % \
21
+ Kramdown::Document.new(Martile.new(s).to_s).to_html)
22
+ @name = doc.root.element('h2/text()').to_s
23
+ @utterances = doc.root.xpath('ul/li/text()').map(&:to_s)
24
+ @code = doc.root.element('//code/text()').to_s
25
+
26
+ end
27
+
28
+ end
29
+
30
+ def entries()
31
+
32
+ r = super()
33
+
34
+ r.map do |entry|
35
+
36
+ def entry.intents()
37
+ self.body().split(/(?=^## )/).map {|x| Intent.new(x)}
38
+ end
39
+
40
+ entry
41
+
42
+ end
43
+
44
+ end
45
+
46
+ def to_xml()
47
+
48
+ a = RexleBuilder.build do |xml|
49
+
50
+ xml.model do
51
+
52
+ xml.summary do
53
+ xml.title @dxsx.dx.title
54
+ xml.invocation @dxsx.dx.invocation
55
+ xml.endpoint @dxsx.dx.endpoint
56
+ end
57
+
58
+ xml.entries do
59
+ entries.each do |entry|
60
+
61
+ xml.entry do
62
+ xml.topic entry.heading
63
+
64
+ xml.intents do
65
+ entry.intents.each do |intent|
66
+
67
+ xml.intent do
68
+
69
+ xml.name intent.name
70
+
71
+ xml.utterances do
72
+ intent.utterances.each do |utterance|
73
+ xml.utterance utterance
74
+ end
75
+ end
76
+
77
+ xml.code do
78
+ xml.cdata! intent.code
79
+ end
80
+ end #/intent
81
+ end
82
+ end #/intents
83
+
84
+ end
85
+ end
86
+ end #/entries
87
+
88
+ end #/model
89
+ end
90
+
91
+ Rexle.new(a).xml pretty: true
92
+
93
+ end
94
+
95
+ end
metadata ADDED
@@ -0,0 +1,91 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: alexa_modelmd
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - James Robertson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMTkwMTMwMTUwNDAxWhcN
15
+ MjAwMTMwMTUwNDAxWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQChhg29
17
+ Utz2a0AcnBz1y7sE0siVEKTtEoijE9LIdHJFrXTwaglCd6lCdHD+safoojXWOEBv
18
+ 1zxRtd501uGDq4WXJXSRSC6RSuJginkJfqHGtaJNxMsyYwJk8hSt/Pf1aMS+KM7L
19
+ c6hVvoXuDDHY6q+pCqrIpYKXnkh6q6p9rXvjX8kbsjxNOrDq72zlW+Y8mA7ANNb4
20
+ f+GDVXVa7YXrYcSSsbaaZQgUQ2nC75/aLOFs8pHanIBAzofc2Ap+Kl3W/jkwwxUR
21
+ 6oXOEOffi4CUFeY1AR5sDZtxg3kIZOLwo+q9ziNDy+bjOanECYbYNgQN0ZJfU+hZ
22
+ Im2bY1DRMnk2MUYTXxZOiTYLMuAtrca7huQZfzM4ZHbTLeWVs1moX1rLG1VXw7T+
23
+ wo2XBS5CKgV/5v2sFf0le8iM9xsO6ZOcYu2mymjHciE6a/4U6RMZupbdjBpv3Ici
24
+ eHtgscsxH304W6qbujmwY7eUuDBf23ZA30Uc6SV0z47tPHbIGm4DHyzwoesCAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUXH1nb6bu
26
+ JVNC2/il8ld/8v3pH8wwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
+ c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
+ BgkqhkiG9w0BAQsFAAOCAYEAnUCaRMSpMImPvK3afTstjZeoo7xZz89Yqr4t+snU
29
+ UQeSGYrxPUiBvxSEmq1azQSBhkiE3GzkyIoj5+F3L8SIidlN3jk+AAAA5RdC5+FM
30
+ IZ/Nmx1L30KgU8DPv3xgbnggwW0DMMO7Ne5DCKApwXGTnhfnuEJgEOoRARwTLLzf
31
+ lyHmp9bJkEUVAbe0jm+K9f2vofeY2ONaEtxtC46Bu/ZkxCCNKdQQFUqEzfgD44YF
32
+ pISj2QiP9nQKbI4aBQvNY1NBgXP4dOPzrik5qN/S8GLp2Lws4MaXX2lot+7nyptD
33
+ yvbvDRka3de27kPP5Bk0a+HqryJO0LpdScNHgV6qvE2mB89T5/qGuEgKsiCI3WVk
34
+ G0VMyOMwq72jHEDSMPMpa440SOQH/gdVBU612nA82y39pi5O47pYPmBS+CBnsuQD
35
+ RiKpAQ+I6BbdLUJTK2K+PB/nbZ6mul1+aS64XsSo/h49h7MP3lGxHFZyfX1RuE4j
36
+ Uv6UCmrr9La+izsyIDyQli0u
37
+ -----END CERTIFICATE-----
38
+ date: 2019-01-30 00:00:00.000000000 Z
39
+ dependencies:
40
+ - !ruby/object:Gem::Dependency
41
+ name: wikimd
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '0.7'
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 0.7.5
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '0.7'
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: 0.7.5
60
+ description:
61
+ email: james@jamesrobertson.eu
62
+ executables: []
63
+ extensions: []
64
+ extra_rdoc_files: []
65
+ files:
66
+ - lib/alexa_modelmd.rb
67
+ homepage: https://github.com/jrobertson/alexa_modelmd
68
+ licenses:
69
+ - MIT
70
+ metadata: {}
71
+ post_install_message:
72
+ rdoc_options: []
73
+ require_paths:
74
+ - lib
75
+ required_ruby_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ required_rubygems_version: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ requirements: []
86
+ rubygems_version: 3.0.2
87
+ signing_key:
88
+ specification_version: 4
89
+ summary: Using a WikiMd foramtted document, generates a basic Amazon Alexa model in
90
+ XML format, as well as other formats ... soon.
91
+ test_files: []
metadata.gz.sig ADDED
Binary file