Class: GroupDocs::Questionnaire::Execution

Inherits:
Api::Entity
  • Object
show all
Includes:
Api::Helpers::Status
Defined in:
lib/groupdocs/questionnaire/execution.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Api::Entity

#initialize, #inspect, #to_hash

Methods included from Api::Helpers::Accessor

#alias_accessor

Constructor Details

This class inherits a constructor from GroupDocs::Api::Entity

Instance Attribute Details

#approverObject



42
43
44
# File 'lib/groupdocs/questionnaire/execution.rb', line 42

def approver
  @approver
end

#collector_guidObject



34
35
36
# File 'lib/groupdocs/questionnaire/execution.rb', line 34

def collector_guid
  @collector_guid
end

#collector_idObject



32
33
34
# File 'lib/groupdocs/questionnaire/execution.rb', line 32

def collector_id
  @collector_id
end

#datasource_idObject



44
45
46
# File 'lib/groupdocs/questionnaire/execution.rb', line 44

def datasource_id
  @datasource_id
end

#documentObject



50
51
52
# File 'lib/groupdocs/questionnaire/execution.rb', line 50

def document
  @document
end

#executiveObject



40
41
42
# File 'lib/groupdocs/questionnaire/execution.rb', line 40

def executive
  @executive
end

#guidObject



30
31
32
# File 'lib/groupdocs/questionnaire/execution.rb', line 30

def guid
  @guid
end

#idObject



28
29
30
# File 'lib/groupdocs/questionnaire/execution.rb', line 28

def id
  @id
end

#modifiedTime

Converts timestamp which is return by API server to Time object.

Returns:

  • (Time)


48
49
50
# File 'lib/groupdocs/questionnaire/execution.rb', line 48

def modified
  @modified
end

#ownerObject



38
39
40
# File 'lib/groupdocs/questionnaire/execution.rb', line 38

def owner
  @owner
end

#questionnaire_nameObject



36
37
38
# File 'lib/groupdocs/questionnaire/execution.rb', line 36

def questionnaire_name
  @questionnaire_name
end

#statusSymbol

Converts status to human-readable format.

Returns:

  • (Symbol)


46
47
48
# File 'lib/groupdocs/questionnaire/execution.rb', line 46

def status
  @status
end

Class Method Details

.get!(guid, access = {}) ⇒ GroupDocs::Questionnaire::Execution?

Returns execution by identifier.

Parameters:

  • guid (String)
  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:



15
16
17
18
19
20
21
22
23
24
25
# 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

Instance Method Details

#delete!(access = {}) ⇒ Object

Deletes execution.

Parameters:

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

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


140
141
142
143
144
145
146
# 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

#fill!(datasource, options = {}, access = {}) ⇒ GroupDocs::Job

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).

Parameters:

  • datasource (GroupDocs::DataSource)
  • options (Hash) (defaults to: {})
  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (options):

  • :new_type (Boolean)

    New file format type

  • :email_results (Boolean)

    Set to true if converted document should be emailed

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

Raises:

  • (ArgumentError)

    if datasource is not GroupDocs::DataSource object



165
166
167
168
169
170
171
172
173
174
175
176
177
178
# 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 = {}) ⇒ Object

Updates status of execution on server.

Parameters:

  • status (Symbol)
  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


104
105
106
107
108
109
110
111
112
113
114
115
# 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 = {}) ⇒ Object

Updates execution on server.

Parameters:

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

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


124
125
126
127
128
129
130
131
# 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