alexa_skillsimulator 0.2.3 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 80507dc9bde4c2eed29d0948179b3394c45a925b
4
- data.tar.gz: 85eedd1fcd9509583f7425f18e77c2fdf22ee5ee
3
+ metadata.gz: c5c23ff59e4d782bdabcba05b7eb766a04d0d1f2
4
+ data.tar.gz: ffe92220388a0bd1c0a29ff119519bab719dac73
5
5
  SHA512:
6
- metadata.gz: 329cd1d8a36ec0d54cefaacfce164f3afa72e7d6fb1097b6854daeadbd94bbf798ba5fffacbb9a61f86605d96afa357c28076d2d6bc3403622455d4d6895664f
7
- data.tar.gz: 327743bde7332d865aba8b04e7d11a8e97fb8511b4d226f1286f785769d59d7101ff26e5c6f2b56e70067846862542294bf5239672bcdc6e8fe30a02d917ff76
6
+ metadata.gz: 80e11d9382c2077fc9da08e0d48dbc27cf17c062ecf44fbb8f70dc5fbde58a9be97c5f299bef862b89e0c9b6990aea1b2a0276338ada08315cec81f77787d119
7
+ data.tar.gz: 49792f178f7a1afd677086ec35c46855c634d9e188c1ac2e504c639c415cce089c3ac551807a1c85239cf30fe51cff222a59d09b3a8ac6140b1684b64bd6a901
Binary file
data.tar.gz.sig CHANGED
@@ -1,3 +1 @@
1
- ~��M5<
2
- ������=X}="Ew��
3
- �¼ݮH�<����S�.�}!$K}?�e���M����u�ϩX�+���dS)��X}�g�6�
1
+ c��{i����wׅ�_8���H�,"lD�tO�iKC W��d�(�ok�d_�I�Hn�Je0�p/ʫ�Z��\yX�R����:��xjy4F��|N)�/��յ��[?V�>_�"�*Q瀘����g��V�Oo���R2�A�m�k��>��ֱZ��A� ͦ��Q�U��Jd],�W5[`%�+%q�n�_��B���lc��甋΂�5�^���0CA3��S-^}�b�S�
@@ -2,8 +2,7 @@
2
2
 
3
3
  # file: alexa_skillsimulator.rb
4
4
 
5
- require 'time'
6
- require 'rest-client'
5
+ require 'askio'
7
6
  require 'console_cmdr'
8
7
  require 'securerandom'
9
8
 
@@ -77,29 +76,12 @@ end
77
76
 
78
77
  class AlexaSkillSimulator
79
78
 
80
- attr_reader :invocation, :utterances
79
+ attr_reader :invocation
81
80
 
82
81
  def initialize(manifest, model, debug: false, userid: nil, deviceid: nil)
83
82
 
83
+ @manifest, @model = manifest, model
84
84
  @debug, @userid, @deviceid = debug, userid, deviceid
85
-
86
- @locale = manifest['manifest']['publishingInformation']['locales']\
87
- .keys.first
88
- puts '@locale: ' + @locale.inspect if @debug
89
-
90
- @invocation = model['interactionModel']['languageModel']['invocationName']
91
-
92
- @utterances = model['interactionModel']['languageModel']\
93
- ['intents'].inject({}) do |r, intent|
94
- intent['samples'].each {|x| r[x.downcase] = intent['name']}
95
- r
96
- end
97
-
98
- puts ' debugger::@utterances: ' + @utterances.inspect if @debug
99
-
100
- @endpoint = manifest['manifest']['apis']['custom']['endpoint']['uri']
101
-
102
- puts ' debugger: @endpoint: ' + @endpoint.inspect if @debug
103
85
 
104
86
  end
105
87
 
@@ -107,8 +89,11 @@ class AlexaSkillSimulator
107
89
 
108
90
  puts
109
91
  puts ' debugger: s: ' + s.inspect if @debug
92
+
93
+ aio = AskIO.new(@manifest, @model, debug: @debug, userid: @userid,
94
+ deviceid: @deviceid)
110
95
 
111
- invocation = @invocation.gsub(/ /,'\s')
96
+ invocation = aio.invocation.gsub(/ /,'\s')
112
97
 
113
98
  regex = %r{
114
99
 
@@ -124,92 +109,12 @@ class AlexaSkillSimulator
124
109
 
125
110
  return "hmmm, I don't know that one." unless r2
126
111
  return respond() if r2[:action] == 'open'
127
-
128
- r = @utterances[r2[:request]]
129
- puts ' debugger: r: ' + r.inspect if @debug
130
- puts
131
-
132
- if r then
133
-
134
- puts ' debugger: your intent is to ' + r if @debug
135
-
136
- respond(r)
137
-
138
- else
139
- "I'm sorry I didn't understand what you said"
140
- end
141
-
142
- end
143
-
144
-
145
- private
146
-
147
- def post(url, h)
148
-
149
- r = RestClient.post(url, h.to_json,
150
- headers={content_type: :json, accept: :json})
151
- JSON.parse r.body, symbolize_names: true
152
-
153
- end
154
-
155
- def respond(intent=nil)
156
-
157
- h = {"version"=>"1.0",
158
- "session"=>
159
- {"new"=>true,
160
- "sessionId"=>"amzn1.echo-api.session.1",
161
- "application"=>
162
- {"applicationId"=>"amzn1.ask.skill.0"},
163
- "user"=>
164
- {"userId"=>
165
- "amzn1.ask.account.I"}},
166
- "context"=>
167
- {"System"=>
168
- {"application"=>
169
- {"applicationId"=>
170
- "amzn1.ask.skill.0"},
171
- "user"=>
172
- {"userId"=>
173
- "amzn1.ask.account.I"},
174
- "device"=>
175
- {"deviceId"=>
176
- "amzn1.ask.device.A",
177
- "supportedInterfaces"=>{}},
178
- "apiEndpoint"=>"https://api.eu.amazonalexa.com",
179
- "apiAccessToken"=>
180
- "A"}},
181
- "request"=> {}
182
- }
183
-
184
- h['session']['user']['userId'] = @userid if @userid
185
- h['context']['System']['user']['userId'] = @userid if @userid
186
-
187
- h['context']['System']['device']['deviceId'] = @deviceid if @deviceid
188
-
189
-
190
- h['request'] = if intent then
191
- {
192
- "type"=>"IntentRequest",
193
- "requestId"=>"amzn1.echo-api.request.0",
194
- "timestamp"=>Time.now.utc.iso8601,
195
- "locale"=>@locale,
196
- "intent"=>{"name"=>intent, "confirmationStatus"=>"NONE"},
197
- "dialogState"=>"STARTED"
198
- }
199
- else
200
- {
201
- "type"=>"LaunchRequest",
202
- "requestId"=>"amzn1.echo-api.request.a",
203
- "timestamp"=> Time.now.utc.iso8601,
204
- "locale"=>@locale,
205
- "shouldLinkResultBeReturned"=>false
206
- }
207
- end
112
+
113
+ r = aio.ask r2[:request]
208
114
 
209
- r = post @endpoint, h
210
- puts ' degbugger: r: ' + r.inspect if @debug
115
+ r ? r : "I'm sorry I didn't understand what you said"
211
116
 
212
- r[:response][:outputSpeech][:text]
213
117
  end
214
118
 
119
+
215
120
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alexa_skillsimulator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -30,28 +30,28 @@ cert_chain:
30
30
  gYx7JRswmPvGXlAKr/p3KoEauefzGu8oNgv4HYyTterelwGlwnWJORM09hCjSoNv
31
31
  3NE=
32
32
  -----END CERTIFICATE-----
33
- date: 2018-07-28 00:00:00.000000000 Z
33
+ date: 2018-07-30 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
- name: rest-client
36
+ name: askio
37
37
  requirement: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '2.0'
41
+ version: '0.1'
42
42
  - - ">="
43
43
  - !ruby/object:Gem::Version
44
- version: 2.0.2
44
+ version: 0.1.0
45
45
  type: :runtime
46
46
  prerelease: false
47
47
  version_requirements: !ruby/object:Gem::Requirement
48
48
  requirements:
49
49
  - - "~>"
50
50
  - !ruby/object:Gem::Version
51
- version: '2.0'
51
+ version: '0.1'
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: 2.0.2
54
+ version: 0.1.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: console_cmdr
57
57
  requirement: !ruby/object:Gem::Requirement
metadata.gz.sig CHANGED
Binary file