lita-alexa-news-recorder 0.1.2 → 0.1.3

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: 21344c8bce9575ffa277f536ad8d69df49b99ca8
4
- data.tar.gz: 02ecfaefcfcd2fbb4bf00f8cdcf5adc72d3808a3
3
+ metadata.gz: f2819b6302601d1036d9b033753112011d3b2e09
4
+ data.tar.gz: 74acc7dc09f6421b56c798449dd7a06f7a172548
5
5
  SHA512:
6
- metadata.gz: ec87aec3ca0eff4b4628d095089af4f3c514bb0a404a8529469aacd7e02124241c0e5d0002632ab188add1ff9fb177cf5567d8d6ec29f2adb7dd269c12a309ce
7
- data.tar.gz: 4bf52313edf0a3b166c55d67a32b5cbde8b6a6218eabc8e4f5254ab15e540e1adf414afd4c568f6830aa5c1d0635968f63ff4c485372f681baa5fab16cb0c491
6
+ metadata.gz: 206b1eadd8f881a3f74b52310cb9afffb6f585529565c95ed6ed8ad3e6f85aa9174da448b503c121c980666bc94b96edfbd308b0e2bfc90bd98ac5fa322c3b3a
7
+ data.tar.gz: 6b922cf0e5127e1dc9f699e89d03b4b4b8370f5a9d491d4a100a62e24b5e5ba2b22c1d90b8f96d22faa1a04d429daa8c0fae68187f97f3f7863220783a04463c
@@ -7,14 +7,35 @@ module Lita
7
7
  http.post '/alexa/recorder', :record_message
8
8
 
9
9
  def record_message(request, response)
10
+ check_for_publisher!
11
+
10
12
  Lita.logger.debug "Inbound request params: "
11
13
  Lita.logger.debug request.params
12
14
  Lita.logger.debug "Inbound request body: "
15
+
13
16
  Lita.logger.debug request.body.string # it's a StringIO
14
17
 
18
+ message = extract_message(request.body.string)
19
+
20
+ robot.trigger(:save_alexa_message, username: 'Alexa News Recorder', message: message)
21
+
15
22
  response.write JSON.dump(sample_response)
16
23
  end
17
24
 
25
+ def check_for_publisher!
26
+ return if robot.handlers.include?(Lita::Handlers::AlexaNewsPublisher)
27
+ raise ConfigurationError, "Must install AlexaNewsPublisher handler to make me work!"
28
+ end
29
+
30
+ def extract_message(payload)
31
+ parsed = JSON.parse(payload)
32
+
33
+ value = parsed.dig('request', 'intent', 'slots', 'Message', 'value')
34
+
35
+ raise ArgumentError if value.nil?
36
+ value
37
+ end
38
+
18
39
  def sample_response
19
40
  {
20
41
  "version": "1.0",
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "lita-alexa-news-recorder"
3
- spec.version = "0.1.2"
3
+ spec.version = "0.1.3"
4
4
  spec.authors = ["Daniel J. Pritchett"]
5
5
  spec.email = ["dpritchett@gmail.com"]
6
6
  spec.description = "Records voice memos via Alexa and transcribes them for publishing to an Alexa Flash Briefing"
@@ -15,6 +15,7 @@ Gem::Specification.new do |spec|
15
15
  spec.require_paths = ["lib"]
16
16
 
17
17
  spec.add_runtime_dependency "lita", ">= 4.7"
18
+ spec.add_runtime_dependency "lita-alexa-news-publisher", ">= 0.1.1"
18
19
 
19
20
  spec.add_development_dependency "bundler", "~> 1.3"
20
21
  spec.add_development_dependency "pry-byebug"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lita-alexa-news-recorder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel J. Pritchett
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: lita-alexa-news-publisher
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.1.1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 0.1.1
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement