Class: DolphinKit::QCloudService

Inherits:
Object
  • Object
show all
Defined in:
lib/dolphin_kit/services/qcloud_service.rb

Constant Summary collapse

BASE_URL =
'https://tmt.tencentcloudapi.com'

Instance Method Summary collapse

Constructor Details

#initialize(app_id: nil, app_key: nil, endpoint: nil) ⇒ QCloudService

Returns a new instance of QCloudService.



8
9
10
11
# File 'lib/dolphin_kit/services/qcloud_service.rb', line 8

def initialize(app_id: nil, app_key: nil, endpoint: nil)
  @secret_id, @secret_key = app_id, app_key
  @endpoint = endpoint || BASE_URL
end

Instance Method Details

#call(text:, source: 'auto', target: nil) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/dolphin_kit/services/qcloud_service.rb', line 13

def call(text:, source: 'auto', target: nil)
  target ||= (LANGUAGES - [source.to_sym]).first
  params = { Source: source, Target: target }.merge(build_params(text))
  params[:Signature] = sign(@secret_key, build_data(params))

  response = HTTP.get(@endpoint, params: params)
  result = JSON.parse(response.body)['Response']

  @failure = result.dig('Error', 'Message')
  result
end