class Translator::Smartling::API::UploadFile
Public Class Methods
new(translation_request:, project_id:, batch_id:, token:)
click to toggle source
# File lib/nexmo_developer/app/services/translator/smartling/api/upload_file.rb, line 7 def initialize(translation_request:, project_id:, batch_id:, token:) @translation_request = translation_request @project_id = project_id @batch_id = batch_id @token = token end
Public Instance Methods
build_request()
click to toggle source
# File lib/nexmo_developer/app/services/translator/smartling/api/upload_file.rb, line 14 def build_request request = Net::HTTP::Post.new(uri.path, headers) request.set_form form_data, 'multipart/form-data' request end
cleanup()
click to toggle source
# File lib/nexmo_developer/app/services/translator/smartling/api/upload_file.rb, line 49 def cleanup file.unlink end
file()
click to toggle source
# File lib/nexmo_developer/app/services/translator/smartling/api/upload_file.rb, line 53 def file @file ||= begin file = Tempfile.new file.write( Nexmo::Markdown::Pipelines::Smartling::Preprocessor.new.call( File.read(@translation_request.file_path) ) ) file.rewind file.close file end end
form_data()
click to toggle source
# File lib/nexmo_developer/app/services/translator/smartling/api/upload_file.rb, line 20 def form_data [ ['file', File.open(file)], ['fileUri', @translation_request.file_uri], ['fileType', 'markdown'], ['localeIdsToAuthorize[]', @translation_request.locale], ] end
headers()
click to toggle source
# File lib/nexmo_developer/app/services/translator/smartling/api/upload_file.rb, line 45 def headers { 'Authorization' => "Bearer #{@token}" } end
return_value()
click to toggle source
# File lib/nexmo_developer/app/services/translator/smartling/api/upload_file.rb, line 37 def return_value @return_value ||= @translation_request.file_uri end
success?()
click to toggle source
# File lib/nexmo_developer/app/services/translator/smartling/api/upload_file.rb, line 29 def success? @response.code == '202' end
to_s()
click to toggle source
# File lib/nexmo_developer/app/services/translator/smartling/api/upload_file.rb, line 41 def to_s return_value end
uri()
click to toggle source
# File lib/nexmo_developer/app/services/translator/smartling/api/upload_file.rb, line 33 def uri @uri ||= URI("https://api.smartling.com/jobs-batch-api/v2/projects/#{@project_id}/batches/#{@batch_id}/file") end