alexa_skillsdev 0.1.2 → 0.2.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: d13156b0f285b80788b27f5c7174fd65f4b10619
4
- data.tar.gz: c6966d6e6fb78eb29247b229df4ac4e09972d16f
3
+ metadata.gz: 397e980b610ec9edb3999e7ce042e5bff7c0a494
4
+ data.tar.gz: 25e6f5e8ea62dd81d53fa899887f4f854a5674f6
5
5
  SHA512:
6
- metadata.gz: 33894e087535530d4273da29b94f19d21ae0336ae82a0a161d8c1eae47e49e27443cea80c28b268758235dd09b03b984aba60cc24dec22e5c9ae80abcd4f77aa
7
- data.tar.gz: b791fc61db06d54e8a3a7f3276526c2e774262a59f1e1a250f6ccb33be7095fc943f9eafb4e7b994b270821ebd46d3b3a02a3254e29fe2718feef7a8341ec7ed
6
+ metadata.gz: ee0576a622d6de9c9eefee0a9bb61eed2231727f3c318ce5a3247c6efbeef8b20b198f3f99ac521b2c7496093bbf4c12596a2d325e63d61eb5571f48d54e9406
7
+ data.tar.gz: 2f96cbdc3e849f1980ba95e8ddc8778a2011b3452710c70840c7a7b2c815d21bbf0942538d69d5af5eb757b6d78be8fcbc1021cd04b12dab00ac3fa914478ceb
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -23,14 +23,26 @@ class AlexaSkillsDev
23
23
 
24
24
  @accesskey, @url_base, @debug = accesskey, url, debug
25
25
 
26
+ end
27
+
28
+ def create_skill(obj)
29
+
30
+ if obj['vendorId'].nil? or obj['vendorId'].empty? then
31
+ vendor()
32
+ obj['vendorId'] = vendor_id
33
+ end
34
+
35
+ post "/v1/skills", obj
36
+
26
37
  end
27
38
 
28
- def interaction_model(skill_id, stage: 'development', local: 'en-US')
39
+ def delete_skill(name=nil, id: nil)
29
40
 
30
- get "/v1/skills/{skill_id}/stages/{stage}/interactionModel/" +
31
- "locales/{locale}"
32
-
33
- end
41
+ skill_id = name ? skill(name)[:skillId] : id
42
+
43
+ delete "/v1/skills/#{skill_id}/"
44
+
45
+ end
34
46
 
35
47
  # list skills by name
36
48
  #
@@ -56,6 +68,8 @@ class AlexaSkillsDev
56
68
  get "/v1/skills/#{id}/stages/#{stage}/interactionModel/locales/#{locale}"
57
69
 
58
70
  end
71
+
72
+ alias interaction_model model
59
73
 
60
74
  def vendor()
61
75
 
@@ -64,6 +78,11 @@ class AlexaSkillsDev
64
78
  h
65
79
 
66
80
  end
81
+
82
+ def vendor_id()
83
+ return @vendor_id if @vendor_id
84
+ vendor()[:id]
85
+ end
67
86
 
68
87
  def vendors()
69
88
 
@@ -100,9 +119,49 @@ class AlexaSkillsDev
100
119
 
101
120
  end
102
121
 
122
+ def status(name)
123
+
124
+ r = skill(name)
125
+ #get "/v1/skills/#{r[:skillId]}/status?resource=name1&resource=name2"
126
+ get "/v1/skills/#{r[:skillId]}/status"
127
+
128
+ end
129
+
130
+ def update_model(name=nil, id: nil, stage: 'development', locale: nil,
131
+ model: obj)
132
+
133
+ if name then
134
+ r = skill(name)
135
+ id, stage, locale = r[:skillId], r[:stage], r[:nameByLocale].keys.first
136
+ end
137
+
138
+ put "/v1/skills/#{id}/stages/#{stage}/interactionModel/locales/#{locale}", obj
139
+
140
+ end
141
+
142
+ def update_skill(name=nil, id: nil, stage: 'development', locale: nil,
143
+ manifest: obj)
144
+
145
+ if name then
146
+ r = skill(name)
147
+ id, stage, locale = r[:skillId], r[:stage], r[:nameByLocale].keys.first
148
+ end
149
+
150
+ put "/v1/skills/#{id}/stages/#{stage}/manifest", obj
151
+
152
+ end
103
153
 
104
154
  protected
105
155
 
156
+ def delete(uri)
157
+
158
+ r = RestClient.delete(@url_base + uri,
159
+ headers={:Authorization => @accesskey})
160
+ JSON.parse r.body, symbolize_names: true
161
+
162
+ end
163
+
164
+
106
165
  def get(uri)
107
166
 
108
167
  r = RestClient.get(@url_base + uri, \
@@ -110,5 +169,23 @@ class AlexaSkillsDev
110
169
  JSON.parse r.body, symbolize_names: true
111
170
 
112
171
  end
172
+
173
+ def post(uri, h)
174
+
175
+ r = RestClient.post(@url_base + uri, h.to_json,
176
+ headers={:Authorization => @accesskey,
177
+ content_type: :json, accept: :json})
178
+ JSON.parse r.body, symbolize_names: true
179
+
180
+ end
181
+
182
+ def put(uri, h)
183
+
184
+ r = RestClient.put(@url_base + uri, h.to_json,
185
+ headers={:Authorization => @accesskey,
186
+ content_type: :json, accept: :json})
187
+ JSON.parse r.body, symbolize_names: true
188
+
189
+ end
113
190
 
114
191
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alexa_skillsdev
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
@@ -30,7 +30,7 @@ cert_chain:
30
30
  yXHXTEHGVzOu3jwP7GMoRzu6Ye+/nqNli3zZTSnJxEdmp4Mqf3d6jINZqwiLkRLC
31
31
  Qao=
32
32
  -----END CERTIFICATE-----
33
- date: 2018-06-22 00:00:00.000000000 Z
33
+ date: 2018-06-30 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: rest-client
@@ -82,6 +82,5 @@ rubyforge_project:
82
82
  rubygems_version: 2.6.13
83
83
  signing_key:
84
84
  specification_version: 4
85
- summary: Provides convenient access to the Alexa Skills API methods (currently under
86
- development).
85
+ summary: Provides convenient access to the Alexa Skills API methods.
87
86
  test_files: []
metadata.gz.sig CHANGED
Binary file