Method: Pageflow::ZencoderApi#get_details

Defined in:
lib/pageflow/zencoder_api.rb

#get_details(job_id) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

rubocop:todo Metrics/AbcSize



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/pageflow/zencoder_api.rb', line 37

def get_details(job_id) # rubocop:todo Metrics/AbcSize
  with_exception_translation do
    response = Zencoder::Job.details(job_id)

    raise translate_zencoder_errors(response.errors) unless response.success?

    input_details = response.body['job']['input_media_file']
    outputs_details = response.body['job']['output_media_files']

    output_presences = outputs_details.each_with_object({}) do |output, presences|
      presences[output['label'].to_sym] = output['state'] if output['label'].present?
    end

    {
      format: input_details['format'],
      duration_in_ms: input_details['duration_in_ms'],
      width: input_details['width'],
      height: input_details['height'],
      output_presences:
    }
  end
end