class GroupDocs::Questionnaire::Execution

Attributes

approver[RW]

@attr [GroupDocs::User] approver

collector_guid[RW]

@attr [String] collector_guid

collector_id[RW]

@attr [Integer] collector_id

datasource_id[RW]

@attr [Integer] datasource_id

document[RW]

@attr [GroupDocs::Storage::File] document

executive[RW]

@attr [GroupDocs::User] executive

guid[RW]

@attr [String] guid

id[RW]

@attr [Integer] id

modified[RW]

@attr [Time] modified

owner[RW]

@attr [GroupDocs::User] owner

questionnaire_name[RW]

@attr [String] questionnaire_name

status[RW]

@attr [Symbol] status

Public Class Methods

get!(guid, access = {}) click to toggle source

Returns execution by identifier.

@param [String] guid @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [GroupDocs::Questionnaire::Execution, nil]

# File lib/groupdocs/questionnaire/execution.rb, line 15
def self.get!(guid, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/merge/{{client_id}}/questionnaires/executions/#{guid}"
  end.execute!

  new(json[:execution])
rescue BadResponseError
  nil
end

Public Instance Methods

delete!(access = {}) click to toggle source

Deletes execution.

@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key

# File lib/groupdocs/questionnaire/execution.rb, line 140
def delete!(access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :DELETE
    request[:path] = "/merge/{{client_id}}/questionnaires/executions/#{id}"
  end.execute!
end
document=(options) click to toggle source

Converts document to GroupDocs::Document object. @param [Hash] options

# File lib/groupdocs/questionnaire/execution.rb, line 72
def document=(options)
  if options.is_a?(Hash)
    options = GroupDocs::Storage::File.new(options)
  elsif options.is_a?(Document)
    options = options.file
  end

  @document = options
end
fill!(datasource, options = {}, access = {}) click to toggle source

Creates new job to merge datasource into questionnaire collector execution.

When you fill collector, execution for it creates. You can then fill this execution (for example if you didn’t answered all the questions at first).

@param [GroupDocs::DataSource] datasource @param [Hash] options @option options [Boolean] :new_type New file format type @option options [Boolean] :email_results Set to true if converted document should be emailed @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [GroupDocs::Job]

@raise [ArgumentError] if datasource is not GroupDocs::DataSource object

# File lib/groupdocs/questionnaire/execution.rb, line 165
def fill!(datasource, options = {}, access = {})
  datasource.is_a?(GroupDocs::DataSource) or raise ArgumentError,
    "Datasource should be GroupDocs::DataSource object, received: #{datasource.inspect}"

  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :POST
    request[:path] = "/merge/{{client_id}}/questionnaires/executions/#{guid}/datasources/#{datasource.id}"
  end
  api.add_params(options)
  json = api.execute!

  Job.new(:id => json[:job_id])
end
set_status!(status, access = {}) click to toggle source

Updates status of execution on server.

@param [Symbol] status @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key

# File lib/groupdocs/questionnaire/execution.rb, line 104
def set_status!(status, access = {})
  status = parse_status(status)

  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :PUT
    request[:path] = "/merge/{{client_id}}/questionnaires/executions/#{id}/status"
    request[:request_body] = status
  end.execute!

  self.status = status
end
update!(access = {}) click to toggle source

Updates execution on server.

@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key

# File lib/groupdocs/questionnaire/execution.rb, line 124
def update!(access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :PUT
    request[:path] = "/merge/{{client_id}}/questionnaires/executions/#{id}"
    request[:request_body] = to_hash
  end.execute!
end