class KarakuriAi::Client

Public Class Methods

new(api_key: nil, account: nil) click to toggle source
# File lib/karakuri_ai/client.rb, line 7
def initialize(api_key: nil, account: nil)
  @api_key = api_key || KarakuriAi.config.api_key
  @account = account || KarakuriAi.config.account
  uri = URI.parse("https://#{@account}.karakuri.ai")
  @client = Net::HTTP.new(uri.host, uri.port)
  @client.use_ssl = true
end

Public Instance Methods

reply(query: nil, count: 1) click to toggle source
# File lib/karakuri_ai/client.rb, line 15
def reply(query: nil, count: 1)
  request = @client.post(
    '/api/ext/reply',
    {
      query: query,
      count: count
    }.to_json,
    header
  )
  request.value
  Reply.new(json: request.body, count: count)
end

Private Instance Methods

header() click to toggle source
# File lib/karakuri_ai/client.rb, line 30
def header
  @header ||= {
    'Content-Type'  => 'application/json',
    'Authorization' => "Bearer #{@api_key}"
  }
end