Class: Translator::Smartling::API::FileStatus
- Inherits:
-
Object
- Object
- Translator::Smartling::API::FileStatus
show all
- Includes:
- Base
- Defined in:
- lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb
Instance Method Summary
collapse
Methods included from Base
#call, #cleanup, #error, included, #make_request!, #response_body
Constructor Details
#initialize(project_id:, file_uri:, token:) ⇒ FileStatus
Returns a new instance of FileStatus.
7
8
9
10
11
|
# File 'lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb', line 7
def initialize(project_id:, file_uri:, token:)
@project_id = project_id
@file_uri = file_uri
@token = token
end
|
Instance Method Details
#build_request ⇒ Object
13
14
15
|
# File 'lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb', line 13
def build_request
Net::HTTP::Get.new(uri, )
end
|
17
18
19
|
# File 'lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb', line 17
def
{ 'Authorization' => "Bearer #{@token}", 'Content-Type' => 'application/json' }
end
|
#return_value ⇒ Object
33
34
35
36
37
38
39
40
41
|
# File 'lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb', line 33
def return_value
@return_value ||= begin
total_word_count = response_body['response']['data']['totalWordCount']
total_string_count = response_body['response']['data']['totalStringCount']
response_body['response']['data']['items'].map do |item|
item['localeId'] if total_word_count == item['completedWordCount'] && total_string_count == item['completedStringCount']
end.compact
end
end
|
#success? ⇒ Boolean
29
30
31
|
# File 'lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb', line 29
def success?
@response.code == '200'
end
|
#to_s ⇒ Object
43
44
45
|
# File 'lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb', line 43
def to_s
"#{@file_uri} => #{return_value}"
end
|
#uri ⇒ Object
21
22
23
24
25
26
27
|
# File 'lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb', line 21
def uri
@uri ||= begin
uri = URI("https://api.smartling.com/files-api/v2/projects/#{@project_id}/file/status")
uri.query = URI.encode_www_form({ 'fileUri' => @file_uri })
uri
end
end
|