Method: Pageflow::ZencoderApi#get_details

Defined in:
lib/pageflow/zencoder_api.rb

#get_details(job_id) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/pageflow/zencoder_api.rb', line 40

def get_details(job_id)
  with_exception_translation do
    response = Zencoder::Job.details(job_id)

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

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

      {
        format: input_details['format'],
        duration_in_ms: input_details['duration_in_ms'],
        width: input_details['width'],
        height: input_details['height'],
        output_presences: output_presences
      }
    else
      raise translate_zencoder_errors(response.errors)
    end
  end
end