google_assistant 0.0.4 → 0.0.5

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
  SHA1:
3
- metadata.gz: ae17ffce94c339e2b26d11437f93b33d27963cc9
4
- data.tar.gz: 2ae05adfa4f52528988c621c53a05f0ed8b9be35
3
+ metadata.gz: 7b154ca654d07f2cd12c6f443bbf7046ef54d1f3
4
+ data.tar.gz: dbc77bed224fd5bd86dd95c829ee0b885f1c97fb
5
5
  SHA512:
6
- metadata.gz: d179f201ca28031e866ecddd3cb9c9bec6ddf6bdcbf8effd822baf65a920057d473e1233271ffc5e14676049cb8e6fe5fd4bc1eb5c3a43c68ac87b5952659ca8
7
- data.tar.gz: 1c05a288401d28c5e992d2ec80b78f815eb426e730aa407e7de33be40c43df9b195701fd5733bd760e8f4ca0486cdfb02f6942e066e2c1d860b119ac1a79974a
6
+ metadata.gz: f80e5e558716bc7b6a5c51d7fcbf66f4a56e07965f7a7a66dc02c9fe766d789a2aacb0c269e76c8c347fe3bb1b72c0a2c66efb42494820e5976d321f97e95fab
7
+ data.tar.gz: 8cb7380fe2917dfd782a39c2b16e7e97413f46d88e9f9cfcf1af8978f767d7023930c6a1d12163065c463ae48a0521f6500927da6187963e63b280ea8d1dcf4a
@@ -25,6 +25,16 @@ class GoogleAssistant
25
25
  @_intent ||= Intent.new(intent_string)
26
26
  end
27
27
 
28
+ def arguments
29
+ @_arguments ||= inputs[0]["arguments"].map do |argument|
30
+ Argument.new(argument)
31
+ end
32
+ end
33
+
34
+ def conversation
35
+ @_conversation ||= Conversation.new(conversation_params)
36
+ end
37
+
28
38
  def tell(message)
29
39
  final_response = { speech_response: {} }
30
40
 
@@ -158,6 +168,10 @@ class GoogleAssistant
158
168
  inputs[0]["intent"] || handle_error("Missing intent from request body")
159
169
  end
160
170
 
171
+ def conversation_params
172
+ params["conversation"] || {}
173
+ end
174
+
161
175
  def handle_error(message)
162
176
  raise message
163
177
  end
@@ -0,0 +1,11 @@
1
+ class GoogleAssistant
2
+ class Argument
3
+ attr_reader :name, :raw_text, :text_value
4
+
5
+ def initialize(opts)
6
+ @name = opts["name"]
7
+ @raw_text = opts ["raw_text"]
8
+ @text_value = opts["text_value"]
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ class GoogleAssistant
4
+ class Conversation
5
+ class Type
6
+ TYPE_UNSPECIFIED = 0
7
+ NEW = 1
8
+ ACTIVE = 2
9
+ EXPIRED = 3
10
+ ARCHIVED = 4
11
+ end
12
+
13
+ attr_reader :id, :type, :token
14
+
15
+ def initialize(opts)
16
+ @id = opts["conversation_id"]
17
+ @type = opts["type"]
18
+ @token = parse_token(opts["conversation_token"])
19
+ end
20
+
21
+ def data
22
+ if token.is_a?(Hash)
23
+ token["data"]
24
+ else
25
+ token
26
+ end
27
+ end
28
+
29
+ def state
30
+ if token.is_a?(Hash)
31
+ token["state"]
32
+ else
33
+ token
34
+ end
35
+ end
36
+
37
+ private
38
+
39
+ def parse_token(token)
40
+ JSON.parse(token)
41
+ rescue JSON::ParserError, TypeError
42
+ token
43
+ end
44
+ end
45
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google_assistant
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Milam
@@ -17,6 +17,8 @@ extensions: []
17
17
  extra_rdoc_files: []
18
18
  files:
19
19
  - lib/google_assistant.rb
20
+ - lib/google_assistant/argument.rb
21
+ - lib/google_assistant/conversation.rb
20
22
  - lib/google_assistant/intent.rb
21
23
  homepage: https://github.com/armilam/google-assistant-ruby
22
24
  licenses: