class Translator::SmartlingCoordinator
Public Class Methods
call(attrs = {})
click to toggle source
# File lib/nexmo_developer/app/services/translator/smartling_coordinator.rb, line 3 def self.call(attrs = {}) new(attrs).call end
new(requests:, frequency:)
click to toggle source
# File lib/nexmo_developer/app/services/translator/smartling_coordinator.rb, line 7 def initialize(requests:, frequency:) @requests = requests @frequency = frequency end
Public Instance Methods
call()
click to toggle source
# File lib/nexmo_developer/app/services/translator/smartling_coordinator.rb, line 12 def call # One Smartling Job per locale requests_by_locale.map do |locale, requests| job_id = create_job(locale) next unless job_id batch_id = create_batch(job_id, requests) next unless batch_id requests.map { |r| upload_file_to_batch(batch_id, r) } end end
create_batch(job_id, requests)
click to toggle source
# File lib/nexmo_developer/app/services/translator/smartling_coordinator.rb, line 42 def create_batch(job_id, requests) Translator::Smartling::ApiRequestsGenerator.create_batch( job_id: job_id, requests: requests ) end
create_job(locale)
click to toggle source
# File lib/nexmo_developer/app/services/translator/smartling_coordinator.rb, line 35 def create_job(locale) Translator::Smartling::ApiRequestsGenerator.create_job( locales: [locale], due_date: due_date ) end
due_date()
click to toggle source
# File lib/nexmo_developer/app/services/translator/smartling_coordinator.rb, line 31 def due_date @due_date ||= (Time.zone.now + @frequency.days).to_s(:iso8601) end
requests_by_locale()
click to toggle source
# File lib/nexmo_developer/app/services/translator/smartling_coordinator.rb, line 27 def requests_by_locale @requests_by_locale ||= @requests.group_by(&:locale) end
upload_file_to_batch(batch_id, translation_request)
click to toggle source
# File lib/nexmo_developer/app/services/translator/smartling_coordinator.rb, line 49 def upload_file_to_batch(batch_id, translation_request) Translator::Smartling::ApiRequestsGenerator.upload_file( batch_id: batch_id, translation_request: translation_request ) end