Class: AlexaWebService::ProgressiveResponse

Inherits:
Object
  • Object
show all
Defined in:
lib/alexa_web_service/progressive_response.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(request, speech) ⇒ ProgressiveResponse

Returns a new instance of ProgressiveResponse.



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/alexa_web_service/progressive_response.rb', line 8

def initialize(request, speech)
  @request = request
  @speech = speech  
  @directive = {
    "header"=> { 
      "requestId"=>request.request_id
    },
    "directive"=> { 
      "type"=>"VoicePlayer.Speak",
      "speech"=>speech
    }
  }
end

Instance Attribute Details

#directiveObject (readonly)

Returns the value of attribute directive.



6
7
8
# File 'lib/alexa_web_service/progressive_response.rb', line 6

def directive
  @directive
end

#requestObject (readonly)

Returns the value of attribute request.



6
7
8
# File 'lib/alexa_web_service/progressive_response.rb', line 6

def request
  @request
end

#speechObject

Returns the value of attribute speech.



5
6
7
# File 'lib/alexa_web_service/progressive_response.rb', line 5

def speech
  @speech
end

Instance Method Details

#headersObject



28
29
30
31
32
33
# File 'lib/alexa_web_service/progressive_response.rb', line 28

def headers
  {
    "Authorization" => "Bearer #{request.api_access_token}",
    "Content-Type" => "application/json"
  }
end

#postObject



35
36
37
# File 'lib/alexa_web_service/progressive_response.rb', line 35

def post
  HTTParty.post(url, :headers=>headers, :body=>self.directive.to_json)
end

#urlObject



22
23
24
25
26
# File 'lib/alexa_web_service/progressive_response.rb', line 22

def url
  if request.api_endpoint
    request.api_endpoint + "/v1/directives"
  end
end