class DocomoAPI::Dialogue

Constants

API_URL

Public Class Methods

new(key) click to toggle source
# File lib/docomo_api/dialogue.rb, line 9
def initialize(key)
  @uri = URI.parse("#{API_URL}?APIKEY=#{key}")
  @http = Net::HTTP.new(@uri.host, @uri.port)
  @http.use_ssl = true
end

Public Instance Methods

reset() click to toggle source

TODO: set ‘t’ option

# File lib/docomo_api/dialogue.rb, line 17
def reset
  @context = nil
end
talk(msg) click to toggle source

call api

# File lib/docomo_api/dialogue.rb, line 22
def talk(msg)
  response = @http.start do |h|
    res = h.request(request(msg))
    JSON.parse(res.body)
  end

  if err = response['requestError']
    raise err.inspect
  end

  @context = response['context']
  response['utt']
end

Private Instance Methods

request(msg) click to toggle source
# File lib/docomo_api/dialogue.rb, line 38
def request(msg)
  body = {
    'utt' => msg,
  }
  body['context'] = @context if @context
  request = Net::HTTP::Post.new(
    @uri.request_uri,
    'Content-Type' => 'application/json'
  )
  request.body = body.to_json
  request
end