alexa_modelmd 0.1.2 → 0.2.0

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
  SHA256:
3
- metadata.gz: 57fbd5e1081e9ed91669745dbed4b06a7eada434c35357ee5ce06595b6b31d2c
4
- data.tar.gz: 8027a9718c942fd2cd857e84d9b19775258efbcf4fa88d7a9de860e3cafd1e42
3
+ metadata.gz: b20c6194beeaa1d8fb84f9ce5a59c3f9bf549b0b7d5d5a1637e2a04747d06e21
4
+ data.tar.gz: 712fbd8174c146dba3bc30b56d50d771998b0c163dd72bd3fb7a0aa6a5fb6f1a
5
5
  SHA512:
6
- metadata.gz: 37b38795333ddc419a6909eda6826cd334262b472f50ab20a167da2421c22cc329ca43bde3fb71baf00736ae8e7b1a71d98cde782dcb4a73a07416f5358dabb6
7
- data.tar.gz: fc196bf40803513b3ea2f21a8e3086877ce92bebb79861e440863d76ddf9d806f19cd29f2a27e0e53f04225563fd8451b496e60c18db38abe91183709c5eef98
6
+ metadata.gz: c89604e28796aafd4ed1a051d71fc960e24cad40ea9c620e5d05dd41b18bdcf1957f80ef58e2d6386fe94b798beada50b418c76d0039e8543abd61a2b133dfcd
7
+ data.tar.gz: dadea5aa25be37daf2dbbb62c6f6772d0403bf35e6c9c635f2fc6b465eaf5ded93b15cdca81243faded6375b9e40ad27ed7bd53b471a800a725bed7885cc9f5c
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/lib/alexa_modelmd.rb CHANGED
@@ -17,7 +17,7 @@ class AlexaModelMd < WikiMd
17
17
 
18
18
  def initialize(s)
19
19
 
20
- doc = Rexle.new("<root>%s</root>" % \
20
+ doc = Rexle.new("<root9>%s</root9>" % \
21
21
  Kramdown::Document.new(Martile.new(s).to_s).to_html)
22
22
  @name = doc.root.element('h2/text()').to_s
23
23
  @utterances = doc.root.xpath('ul/li/text()').map(&:to_s)
@@ -42,6 +42,13 @@ class AlexaModelMd < WikiMd
42
42
  end
43
43
 
44
44
  end
45
+
46
+ # This generates a plain text file representing the Alexa Model to be
47
+ # built using the alexa_modelbuilder gem
48
+ #
49
+ def to_modelb
50
+ Rexslt.new(modelbuilder_xslt(), to_xml()).to_s
51
+ end
45
52
 
46
53
  def to_xml()
47
54
 
@@ -91,5 +98,47 @@ class AlexaModelMd < WikiMd
91
98
  Rexle.new(a).xml pretty: true
92
99
 
93
100
  end
94
-
101
+
102
+ private
103
+
104
+ def modelbuilder_xslt()
105
+ <<EOF
106
+ <xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
107
+ <xsl:output method="xml" indent="yes" omit-xml-declaration="yes" />
108
+
109
+ <xsl:template match='model'>name: <xsl:value-of select='summary/title' />
110
+ invocation: <xsl:value-of select='summary/invocation' />
111
+ <xsl:text>
112
+ </xsl:text>
113
+ <xsl:apply-templates select='entries/entry' />
114
+ endpoint: <xsl:value-of select='summary/endpoint' />
115
+
116
+ </xsl:template>
117
+
118
+ <xsl:template match='entries/entry'>
119
+ # <xsl:value-of select='topic' /><xsl:text>
120
+ </xsl:text>
121
+ <xsl:apply-templates select='intents/intent' />
122
+ </xsl:template>
123
+
124
+ <xsl:template match='intents/intent'>
125
+ <xsl:text>
126
+ </xsl:text>
127
+ <xsl:value-of select='name' />
128
+ <xsl:apply-templates select='utterances/utterance' />
129
+ <xsl:text>
130
+ </xsl:text>
131
+ </xsl:template>
132
+
133
+ <xsl:template match='utterances/utterance'>
134
+ <xsl:text>
135
+ </xsl:text>
136
+ <xsl:value-of select='.' />
137
+
138
+ </xsl:template>
139
+
140
+
141
+ </xsl:stylesheet>
142
+ EOF
143
+ end
95
144
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alexa_modelmd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -35,7 +35,7 @@ cert_chain:
35
35
  RiKpAQ+I6BbdLUJTK2K+PB/nbZ6mul1+aS64XsSo/h49h7MP3lGxHFZyfX1RuE4j
36
36
  Uv6UCmrr9La+izsyIDyQli0u
37
37
  -----END CERTIFICATE-----
38
- date: 2019-01-30 00:00:00.000000000 Z
38
+ date: 2019-02-01 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: wiki_md
@@ -87,5 +87,5 @@ rubygems_version: 3.0.2
87
87
  signing_key:
88
88
  specification_version: 4
89
89
  summary: Using a WikiMd foramtted document, generates a basic Amazon Alexa model in
90
- XML format, as well as other formats ... soon.
90
+ XML format, as well as other formats.
91
91
  test_files: []
metadata.gz.sig CHANGED
Binary file