Class: Uploadcare::Resources::DocumentConversion

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

Overview

Document conversion resource.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#converted_groupsObject

Returns the value of attribute converted_groups.



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

def converted_groups
  @converted_groups
end

#errorObject

Returns the value of attribute error.



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

def error
  @error
end

#formatObject

Returns the value of attribute format.



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

def format
  @format
end

#resultObject

Returns the value of attribute result.



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

def result
  @result
end

#statusObject

Returns the value of attribute status.



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

def status
  @status
end

#uuidObject

Returns the value of attribute uuid.



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

def uuid
  @uuid
end

Class Method Details

.convert_document(params:, options: {}, client: nil, config: Uploadcare.configuration, request_options: {}) ⇒ Hash

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

Parameters:

  • params (Hash)

    Conversion parameters (:uuid, :format)

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

    Optional parameters (:store, :save_in_group)

  • 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:

  • (Hash)

    Conversion response



31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/uploadcare/resources/document_conversion.rb', line 31

def self.convert_document(params:, options: {}, client: nil, config: Uploadcare.configuration,
                          request_options: {})
  resolved_client = resolve_client(client: client, config: config)
  paths = Array(params[:uuid]).map do |uuid|
    "#{uuid}/document/-/format/#{params[:format]}/"
  end

  Uploadcare::Result.unwrap(
    resolved_client.api.rest.document_conversions.convert(
      paths: paths, options: options, request_options: request_options
    )
  )
end

.info_for(uuid:, client: nil, config: Uploadcare.configuration, request_options: {}) ⇒ Uploadcare::Resources::DocumentConversion

Fetch document conversion capabilities for a file.

Parameters:

Returns:



64
65
66
67
# File 'lib/uploadcare/resources/document_conversion.rb', line 64

def self.info_for(uuid:, client: nil, config: Uploadcare.configuration, request_options: {})
  resolved_client = resolve_client(client: client, config: config)
  new({ 'uuid' => uuid }, resolved_client).info(request_options: request_options)
end

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

Fetch document conversion status for a job token.

Parameters:

Returns:



52
53
54
55
# File 'lib/uploadcare/resources/document_conversion.rb', line 52

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

Get conversion job status.

Parameters:

  • token (String)

    Job token

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

    Request options

Returns:

  • (self)


74
75
76
77
78
79
80
# File 'lib/uploadcare/resources/document_conversion.rb', line 74

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

#info(request_options: {}) ⇒ self

Get document format info and possible conversions.

Parameters:

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

    Request options

Returns:

  • (self)

Raises:

  • (ArgumentError)


13
14
15
16
17
18
19
20
21
# File 'lib/uploadcare/resources/document_conversion.rb', line 13

def info(request_options: {})
  raise ArgumentError, 'uuid is required' if uuid.to_s.empty?

  response = Uploadcare::Result.unwrap(
    client.api.rest.document_conversions.info(uuid: uuid, request_options: request_options)
  )
  assign_attributes(response)
  self
end