Class: Uploadcare::Resources::VideoConversion

Inherits:
BaseResource
  • Object
show all
Defined in:
lib/uploadcare/resources/video_conversion.rb

Overview

Video conversion resource.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#errorObject

Returns the value of attribute error.



7
8
9
# File 'lib/uploadcare/resources/video_conversion.rb', line 7

def error
  @error
end

#problemsObject

Returns the value of attribute problems.



7
8
9
# File 'lib/uploadcare/resources/video_conversion.rb', line 7

def problems
  @problems
end

#resultObject

Returns the value of attribute result.



7
8
9
# File 'lib/uploadcare/resources/video_conversion.rb', line 7

def result
  @result
end

#statusObject

Returns the value of attribute status.



7
8
9
# File 'lib/uploadcare/resources/video_conversion.rb', line 7

def status
  @status
end

Class Method Details

.convert(params:, options: {}, client: nil, config: Uploadcare.configuration, request_options: {}) ⇒ Uploadcare::Resources::VideoConversion

Convert a video to a specified format (class method).

Parameters:

  • params (Hash)

    Conversion parameters (:uuid, :format, :quality)

  • options (Hash) (defaults to: {})

    Optional parameters (:store)

  • client (Uploadcare::Client, nil) (defaults to: nil)

    Client instance

  • config (Uploadcare::Configuration) (defaults to: Uploadcare.configuration)

    Configuration fallback

  • request_options (Hash) (defaults to: {})

    Request options

Returns:

Raises:

  • (ArgumentError)


17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/uploadcare/resources/video_conversion.rb', line 17

def self.convert(params:, options: {}, client: nil, config: Uploadcare.configuration, request_options: {})
  raise ArgumentError, 'params must include :uuid' unless params[:uuid]
  raise ArgumentError, 'params must include :format' unless params[:format]
  raise ArgumentError, 'params must include :quality' unless params[:quality]

  paths = Array(params[:uuid]).map do |uuid|
    "#{uuid}/video/-/format/#{params[:format]}/-/quality/#{params[:quality]}/"
  end

  resolved_client = resolve_client(client: client, config: config)
  response = Uploadcare::Result.unwrap(
    resolved_client.api.rest.video_conversions.convert(
      paths: paths, options: options, request_options: request_options
    )
  )
  new(response, resolved_client)
end

.status(token:, client: nil, config: Uploadcare.configuration, request_options: {}) ⇒ Uploadcare::Resources::VideoConversion

Fetch video conversion status for a job token.

Parameters:

Returns:



42
43
44
45
# File 'lib/uploadcare/resources/video_conversion.rb', line 42

def self.status(token:, client: nil, config: Uploadcare.configuration, request_options: {})
  resolved_client = resolve_client(client: client, config: config)
  new({}, resolved_client).fetch_status(token: token, request_options: request_options)
end

Instance Method Details

#fetch_status(token:, request_options: {}) ⇒ self

Refresh this resource from the conversion status endpoint.

Parameters:

  • token (String)
  • request_options (Hash) (defaults to: {})

Returns:

  • (self)


52
53
54
55
56
57
58
# File 'lib/uploadcare/resources/video_conversion.rb', line 52

def fetch_status(token:, request_options: {})
  response = Uploadcare::Result.unwrap(
    client.api.rest.video_conversions.status(token: token, request_options: request_options)
  )
  assign_attributes(response)
  self
end