Class: Translator::Smartling::API::CreateJob

Inherits:
Object
  • Object
show all
Includes:
Base
Defined in:
lib/nexmo_developer/app/services/translator/smartling/api/create_job.rb

Instance Method Summary collapse

Methods included from Base

#build_request, #call, #cleanup, #error, included, #make_request!, #response_body

Constructor Details

#initialize(project_id:, locales:, due_date:, token:) ⇒ CreateJob

Returns a new instance of CreateJob.



7
8
9
10
11
12
# File 'lib/nexmo_developer/app/services/translator/smartling/api/create_job.rb', line 7

def initialize(project_id:, locales:, due_date:, token:)
  @project_id = project_id
  @locales    = locales
  @due_date   = due_date
  @token      = token
end

Instance Method Details

#headersObject



34
35
36
# File 'lib/nexmo_developer/app/services/translator/smartling/api/create_job.rb', line 34

def headers
  { 'Content-Type' => 'application/json', 'Authorization' => "Bearer #{@token}" }
end

#request_bodyObject



14
15
16
17
18
19
20
# File 'lib/nexmo_developer/app/services/translator/smartling/api/create_job.rb', line 14

def request_body
  {
    'jobName' => "ADP Translation Job: #{@locales.join(',')} - #{Time.current.to_date}",
    'targetLocaleIds' => @locales,
    'dueDate' => @due_date,
  }
end

#return_valueObject



26
27
28
# File 'lib/nexmo_developer/app/services/translator/smartling/api/create_job.rb', line 26

def return_value
  @return_value ||= response_body['response']['data']['translationJobUid']
end

#success?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/nexmo_developer/app/services/translator/smartling/api/create_job.rb', line 22

def success?
  @response.code == '200'
end

#to_sObject



38
39
40
# File 'lib/nexmo_developer/app/services/translator/smartling/api/create_job.rb', line 38

def to_s
  return_value
end

#uriObject



30
31
32
# File 'lib/nexmo_developer/app/services/translator/smartling/api/create_job.rb', line 30

def uri
  @uri ||= URI("https://api.smartling.com/jobs-api/v3/projects/#{@project_id}/jobs")
end