groupdocs 2.2.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.travis.yml +9 -9
- data/CHANGELOG.md +482 -477
- data/Gemfile +3 -3
- data/LICENSE.txt +21 -21
- data/README.md +94 -94
- data/Rakefile +9 -9
- data/examples/README.md +12 -12
- data/examples/api-samples/Gemfile +5 -5
- data/examples/api-samples/Gemfile.lock +49 -49
- data/examples/api-samples/README.md +23 -23
- data/examples/api-samples/public/css/style.css +229 -229
- data/examples/api-samples/public/docs/annotation-sample.html +167 -167
- data/examples/api-samples/public/docs/docco.css +500 -500
- data/examples/api-samples/public/docs/envelope-sample.html +374 -374
- data/examples/api-samples/public/docs/sample01.html +181 -181
- data/examples/api-samples/public/docs/sample02.html +199 -199
- data/examples/api-samples/public/docs/sample03.html +318 -318
- data/examples/api-samples/public/docs/sample04.html +217 -217
- data/examples/api-samples/public/docs/sample05.html +296 -296
- data/examples/api-samples/public/docs/sample06.html +347 -347
- data/examples/api-samples/public/docs/sample07.html +209 -209
- data/examples/api-samples/public/docs/sample08.html +277 -277
- data/examples/api-samples/public/docs/sample09.html +314 -314
- data/examples/api-samples/public/docs/sample10.html +270 -270
- data/examples/api-samples/public/docs/sample11.html +462 -462
- data/examples/api-samples/public/docs/sample12.html +199 -199
- data/examples/api-samples/public/docs/sample13.html +201 -201
- data/examples/api-samples/public/docs/sample14.html +204 -204
- data/examples/api-samples/public/docs/sample15.html +182 -182
- data/examples/api-samples/public/docs/sample16.html +234 -234
- data/examples/api-samples/public/docs/sample17.html +309 -309
- data/examples/api-samples/public/docs/sample18.html +721 -721
- data/examples/api-samples/public/docs/sample19.html +631 -631
- data/examples/api-samples/public/docs/sample20.html +230 -230
- data/examples/api-samples/public/docs/sample21.html +790 -790
- data/examples/api-samples/public/docs/sample22.html +408 -408
- data/examples/api-samples/public/docs/sample25.html +550 -550
- data/examples/api-samples/public/templates/base-simple_source.html +191 -191
- data/examples/api-samples/public/templates/testdocument.html +100 -100
- data/examples/api-samples/public/templates/welcome.htm +137 -137
- data/examples/api-samples/samples/annotation-sample.rb +56 -56
- data/examples/api-samples/samples/envelope-sample.rb +133 -133
- data/examples/api-samples/samples/sample01.rb +44 -44
- data/examples/api-samples/samples/sample02.rb +50 -50
- data/examples/api-samples/samples/sample03.rb +79 -79
- data/examples/api-samples/samples/sample04.rb +54 -54
- data/examples/api-samples/samples/sample05.rb +83 -83
- data/examples/api-samples/samples/sample06.rb +86 -86
- data/examples/api-samples/samples/sample07.rb +59 -59
- data/examples/api-samples/samples/sample08.rb +76 -76
- data/examples/api-samples/samples/sample09.rb +85 -85
- data/examples/api-samples/samples/sample10.rb +70 -70
- data/examples/api-samples/samples/sample11.rb +132 -132
- data/examples/api-samples/samples/sample12.rb +48 -48
- data/examples/api-samples/samples/sample13.rb +49 -49
- data/examples/api-samples/samples/sample14.rb +54 -54
- data/examples/api-samples/samples/sample15.rb +43 -43
- data/examples/api-samples/samples/sample16.rb +57 -57
- data/examples/api-samples/samples/sample17.rb +70 -70
- data/examples/api-samples/samples/sample18.rb +190 -190
- data/examples/api-samples/samples/sample19.rb +188 -188
- data/examples/api-samples/samples/sample20.rb +68 -68
- data/examples/api-samples/samples/sample21.rb +212 -212
- data/examples/api-samples/samples/sample22.rb +109 -109
- data/examples/api-samples/samples/sample25.rb +127 -127
- data/examples/api-samples/views/_others_samples.haml +233 -233
- data/examples/api-samples/views/annotation_sample.haml +63 -63
- data/examples/api-samples/views/envelope_sample.haml +72 -72
- data/examples/api-samples/views/index.haml +235 -235
- data/examples/api-samples/views/layout.haml +3 -3
- data/examples/api-samples/views/sample01.haml +63 -63
- data/examples/api-samples/views/sample02.haml +52 -52
- data/examples/api-samples/views/sample03.haml +87 -87
- data/examples/api-samples/views/sample04.haml +55 -55
- data/examples/api-samples/views/sample05.haml +86 -86
- data/examples/api-samples/views/sample06.haml +58 -58
- data/examples/api-samples/views/sample07.haml +52 -52
- data/examples/api-samples/views/sample08.haml +100 -100
- data/examples/api-samples/views/sample09.haml +95 -95
- data/examples/api-samples/views/sample10.haml +93 -93
- data/examples/api-samples/views/sample11.haml +140 -140
- data/examples/api-samples/views/sample12.haml +68 -68
- data/examples/api-samples/views/sample13.haml +64 -64
- data/examples/api-samples/views/sample14.haml +60 -60
- data/examples/api-samples/views/sample15.haml +51 -51
- data/examples/api-samples/views/sample16.haml +50 -50
- data/examples/api-samples/views/sample17.haml +54 -54
- data/examples/api-samples/views/sample18.haml +143 -143
- data/examples/api-samples/views/sample19.haml +92 -92
- data/examples/api-samples/views/sample20.haml +54 -54
- data/examples/api-samples/views/sample21.haml +123 -123
- data/examples/api-samples/views/sample22.haml +106 -106
- data/examples/api-samples/views/sample25.haml +101 -101
- data/examples/api-samples/views/sample31.haml +2 -2
- data/examples/api-samples/web.rb +20 -20
- data/examples/viewer/Gemfile +5 -5
- data/examples/viewer/app.rb +52 -52
- data/groupdocs.gemspec +31 -31
- data/lib/groupdocs.rb +62 -62
- data/lib/groupdocs/api.rb +6 -6
- data/lib/groupdocs/api/entity.rb +112 -112
- data/lib/groupdocs/api/helpers.rb +11 -11
- data/lib/groupdocs/api/helpers/access_mode_helper.rb +27 -27
- data/lib/groupdocs/api/helpers/access_rights_helper.rb +55 -55
- data/lib/groupdocs/api/helpers/accessor_helper.rb +30 -30
- data/lib/groupdocs/api/helpers/byte_flag_helper.rb +49 -49
- data/lib/groupdocs/api/helpers/credentials_helper.rb +35 -35
- data/lib/groupdocs/api/helpers/mime_helper.rb +21 -21
- data/lib/groupdocs/api/helpers/path_helper.rb +28 -28
- data/lib/groupdocs/api/helpers/rest_helper.rb +99 -99
- data/lib/groupdocs/api/helpers/signature_public_helper.rb +22 -22
- data/lib/groupdocs/api/helpers/status_helper.rb +27 -27
- data/lib/groupdocs/api/helpers/url_helper.rb +101 -101
- data/lib/groupdocs/api/request.rb +91 -91
- data/lib/groupdocs/datasource.rb +249 -249
- data/lib/groupdocs/datasource/field.rb +39 -39
- data/lib/groupdocs/document.rb +1550 -1550
- data/lib/groupdocs/document/annotation.rb +421 -421
- data/lib/groupdocs/document/annotation/reply.rb +173 -173
- data/lib/groupdocs/document/annotation/reviewer.rb +66 -66
- data/lib/groupdocs/document/change.rb +56 -56
- data/lib/groupdocs/document/field.rb +53 -53
- data/lib/groupdocs/document/metadata.rb +32 -32
- data/lib/groupdocs/document/rectangle.rb +18 -18
- data/lib/groupdocs/document/view.rb +36 -36
- data/lib/groupdocs/errors.rb +8 -8
- data/lib/groupdocs/job.rb +468 -468
- data/lib/groupdocs/questionnaire.rb +530 -530
- data/lib/groupdocs/questionnaire/collector.rb +335 -335
- data/lib/groupdocs/questionnaire/execution.rb +181 -181
- data/lib/groupdocs/questionnaire/page.rb +43 -43
- data/lib/groupdocs/questionnaire/question.rb +108 -108
- data/lib/groupdocs/questionnaire/question/answer.rb +15 -15
- data/lib/groupdocs/signature.rb +380 -380
- data/lib/groupdocs/signature/contact.rb +181 -181
- data/lib/groupdocs/signature/envelope.rb +747 -747
- data/lib/groupdocs/signature/envelope/log.rb +20 -20
- data/lib/groupdocs/signature/field.rb +286 -286
- data/lib/groupdocs/signature/field/location.rb +71 -71
- data/lib/groupdocs/signature/form.rb +804 -804
- data/lib/groupdocs/signature/list.rb +92 -92
- data/lib/groupdocs/signature/recipient.rb +79 -79
- data/lib/groupdocs/signature/role.rb +54 -54
- data/lib/groupdocs/signature/shared.rb +6 -6
- data/lib/groupdocs/signature/shared/document_methods.rb +158 -158
- data/lib/groupdocs/signature/shared/entity_fields.rb +76 -76
- data/lib/groupdocs/signature/shared/entity_methods.rb +144 -144
- data/lib/groupdocs/signature/shared/field_methods.rb +354 -354
- data/lib/groupdocs/signature/shared/recipient_methods.rb +75 -75
- data/lib/groupdocs/signature/shared/resource_methods.rb +65 -65
- data/lib/groupdocs/signature/template.rb +124 -124
- data/lib/groupdocs/storage.rb +44 -44
- data/lib/groupdocs/storage/file.rb +432 -432
- data/lib/groupdocs/storage/folder.rb +288 -288
- data/lib/groupdocs/storage/package.rb +48 -48
- data/lib/groupdocs/storage/provider.rb +32 -32
- data/lib/groupdocs/subscription.rb +323 -323
- data/lib/groupdocs/subscription/limit.rb +20 -20
- data/lib/groupdocs/user.rb +955 -930
- data/lib/groupdocs/version.rb +3 -3
- data/spec/groupdocs/api/entity_spec.rb +55 -55
- data/spec/groupdocs/api/helpers/access_mode_helper_spec.rb +21 -21
- data/spec/groupdocs/api/helpers/access_rights_helper_spec.rb +43 -43
- data/spec/groupdocs/api/helpers/accessor_helper_spec.rb +16 -16
- data/spec/groupdocs/api/helpers/byte_flag_helper_spec.rb +23 -23
- data/spec/groupdocs/api/helpers/credentials_helpers_spec.rb +48 -48
- data/spec/groupdocs/api/helpers/mime_helper_spec.rb +16 -16
- data/spec/groupdocs/api/helpers/path_helper_spec.rb +15 -15
- data/spec/groupdocs/api/helpers/rest_helper_spec.rb +161 -161
- data/spec/groupdocs/api/helpers/signature_public_helper_spec.rb +21 -21
- data/spec/groupdocs/api/helpers/status_helper_spec.rb +22 -22
- data/spec/groupdocs/api/helpers/url_helper_spec.rb +112 -112
- data/spec/groupdocs/api/request_spec.rb +112 -112
- data/spec/groupdocs/datasource/field_spec.rb +29 -29
- data/spec/groupdocs/datasource_spec.rb +145 -145
- data/spec/groupdocs/document/annotation/reply_spec.rb +154 -154
- data/spec/groupdocs/document/annotation/reviewer_spec.rb +51 -51
- data/spec/groupdocs/document/annotation_spec.rb +234 -234
- data/spec/groupdocs/document/change_spec.rb +39 -39
- data/spec/groupdocs/document/field_spec.rb +28 -28
- data/spec/groupdocs/document/metadata_spec.rb +21 -21
- data/spec/groupdocs/document/rectangle_spec.rb +14 -14
- data/spec/groupdocs/document/view_spec.rb +33 -33
- data/spec/groupdocs/document_spec.rb +859 -859
- data/spec/groupdocs/errors_spec.rb +7 -7
- data/spec/groupdocs/job_spec.rb +323 -323
- data/spec/groupdocs/questionnaire/collector_spec.rb +197 -197
- data/spec/groupdocs/questionnaire/execution_spec.rb +162 -162
- data/spec/groupdocs/questionnaire/page_spec.rb +47 -47
- data/spec/groupdocs/questionnaire/question/answer_spec.rb +9 -9
- data/spec/groupdocs/questionnaire/question_spec.rb +75 -75
- data/spec/groupdocs/questionnaire_spec.rb +295 -295
- data/spec/groupdocs/signature/contact_spec.rb +142 -142
- data/spec/groupdocs/signature/envelope/log_spec.rb +15 -15
- data/spec/groupdocs/signature/envelope_spec.rb +384 -384
- data/spec/groupdocs/signature/field/location_spec.rb +40 -40
- data/spec/groupdocs/signature/field_spec.rb +235 -235
- data/spec/groupdocs/signature/form_spec.rb +205 -205
- data/spec/groupdocs/signature/list_spec.rb +87 -87
- data/spec/groupdocs/signature/recipient_spec.rb +26 -26
- data/spec/groupdocs/signature/role_spec.rb +47 -47
- data/spec/groupdocs/signature/template_spec.rb +80 -80
- data/spec/groupdocs/signature_spec.rb +194 -194
- data/spec/groupdocs/storage/file_spec.rb +303 -303
- data/spec/groupdocs/storage/folder_spec.rb +270 -270
- data/spec/groupdocs/storage/package_spec.rb +38 -38
- data/spec/groupdocs/storage/provider_spec.rb +21 -21
- data/spec/groupdocs/storage_spec.rb +27 -27
- data/spec/groupdocs/subscription/limit_spec.rb +16 -16
- data/spec/groupdocs/subscription_spec.rb +74 -74
- data/spec/groupdocs/user_spec.rb +257 -257
- data/spec/groupdocs_spec.rb +63 -63
- data/spec/spec_helper.rb +73 -73
- data/spec/support/json/annotation_access_set.json +11 -11
- data/spec/support/json/annotation_collaborators_get.json +16 -16
- data/spec/support/json/annotation_collaborators_set.json +16 -16
- data/spec/support/json/annotation_create.json +12 -12
- data/spec/support/json/annotation_list.json +32 -32
- data/spec/support/json/annotation_marker_move.json +10 -10
- data/spec/support/json/annotation_move.json +8 -8
- data/spec/support/json/annotation_remove.json +9 -9
- data/spec/support/json/annotation_replies_create.json +9 -9
- data/spec/support/json/annotation_replies_get.json +25 -25
- data/spec/support/json/annotation_reviewers_get.json +18 -18
- data/spec/support/json/comparison_changes.json +46 -46
- data/spec/support/json/comparison_compare.json +8 -8
- data/spec/support/json/comparison_document.json +10 -10
- data/spec/support/json/contact_add.json +12 -12
- data/spec/support/json/contacts_get.json +19 -19
- data/spec/support/json/contacts_import.json +8 -8
- data/spec/support/json/datasource_add.json +8 -8
- data/spec/support/json/datasource_get.json +22 -22
- data/spec/support/json/datasource_remove.json +8 -8
- data/spec/support/json/datasource_update.json +8 -8
- data/spec/support/json/delete_account.json +9 -9
- data/spec/support/json/document_access_info_get.json +14 -14
- data/spec/support/json/document_convert.json +8 -8
- data/spec/support/json/document_datasource.json +10 -10
- data/spec/support/json/document_fields.json +34 -34
- data/spec/support/json/document_formats.json +8 -8
- data/spec/support/json/document_metadata.json +15 -15
- data/spec/support/json/document_page_images_get.json +20 -20
- data/spec/support/json/document_questionnaire_create.json +9 -9
- data/spec/support/json/document_questionnaires.json +23 -23
- data/spec/support/json/document_sharers_remove.json +8 -8
- data/spec/support/json/document_sharers_set.json +16 -16
- data/spec/support/json/document_thumbnails.json +24 -24
- data/spec/support/json/document_views.json +32 -32
- data/spec/support/json/envelope_get.json +46 -46
- data/spec/support/json/envelope_logs.json +16 -16
- data/spec/support/json/envelope_recipient_add.json +26 -26
- data/spec/support/json/envelopes_all.json +48 -48
- data/spec/support/json/envelopes_resources.json +31 -31
- data/spec/support/json/file_compress.json +8 -8
- data/spec/support/json/file_copy.json +14 -14
- data/spec/support/json/file_delete.json +5 -5
- data/spec/support/json/file_move.json +14 -14
- data/spec/support/json/file_upload.json +8 -8
- data/spec/support/json/folder_create.json +8 -8
- data/spec/support/json/folder_delete.json +5 -5
- data/spec/support/json/folder_list.json +22 -22
- data/spec/support/json/folder_move.json +8 -8
- data/spec/support/json/folder_sharers_get.json +16 -16
- data/spec/support/json/folder_sharers_remove.json +8 -8
- data/spec/support/json/folder_sharers_set.json +16 -16
- data/spec/support/json/form_get.json +21 -21
- data/spec/support/json/forms_all.json +23 -23
- data/spec/support/json/job_add_url.json +8 -8
- data/spec/support/json/job_create.json +8 -8
- data/spec/support/json/job_documents.json +40 -40
- data/spec/support/json/job_file_add.json +8 -8
- data/spec/support/json/job_get.json +30 -30
- data/spec/support/json/job_update.json +7 -7
- data/spec/support/json/jobs_get.json +58 -58
- data/spec/support/json/list_add.json +12 -12
- data/spec/support/json/lists_get.json +19 -19
- data/spec/support/json/package_create.json +7 -7
- data/spec/support/json/questionnaire_collector.json +17 -17
- data/spec/support/json/questionnaire_collectors.json +38 -38
- data/spec/support/json/questionnaire_collectors_add.json +10 -10
- data/spec/support/json/questionnaire_create.json +10 -10
- data/spec/support/json/questionnaire_datasources.json +26 -26
- data/spec/support/json/questionnaire_execution_add.json +9 -9
- data/spec/support/json/questionnaire_execution_status_set.json +8 -8
- data/spec/support/json/questionnaire_execution_update.json +8 -8
- data/spec/support/json/questionnaire_executions.json +28 -28
- data/spec/support/json/questionnaire_get.json +17 -17
- data/spec/support/json/questionnaire_remove.json +8 -8
- data/spec/support/json/questionnaire_update.json +8 -8
- data/spec/support/json/questionnaires_get.json +40 -40
- data/spec/support/json/sign_documents.json +16 -16
- data/spec/support/json/signature_create.json +12 -12
- data/spec/support/json/signature_field_add.json +25 -25
- data/spec/support/json/signature_fields_get.json +27 -27
- data/spec/support/json/signature_roles_get.json +17 -17
- data/spec/support/json/signatures_get.json +19 -19
- data/spec/support/json/storage_info.json +10 -10
- data/spec/support/json/subscription_plan_get.json +9 -9
- data/spec/support/json/subscription_plans_get.json +17 -17
- data/spec/support/json/template_get.json +35 -35
- data/spec/support/json/template_get_documents.json +15 -15
- data/spec/support/json/template_get_recipients.json +20 -20
- data/spec/support/json/templates_all.json +37 -37
- data/spec/support/json/templates_get.json +21 -21
- data/spec/support/json/update_account.json +10 -10
- data/spec/support/json/user_area.json +67 -67
- data/spec/support/json/user_embed_key.json +38 -38
- data/spec/support/json/user_get_embed_key.json +67 -67
- data/spec/support/json/user_login.json +67 -67
- data/spec/support/json/user_profile_get.json +24 -24
- data/spec/support/json/user_providers.json +31 -31
- data/spec/support/json/user_roles.json +25 -25
- data/spec/support/json/user_users_get.json +27 -27
- data/spec/support/shared_examples/api/entity.rb +39 -39
- data/spec/support/shared_examples/api/helpers/access_mode_helper.rb +11 -11
- data/spec/support/shared_examples/api/helpers/status_helper.rb +11 -11
- data/spec/support/shared_examples/signature/shared/document_methods.rb +68 -68
- data/spec/support/shared_examples/signature/shared/entity_fields.rb +56 -56
- data/spec/support/shared_examples/signature/shared/entity_methods.rb +116 -116
- data/spec/support/shared_examples/signature/shared/field_methods.rb +220 -220
- data/spec/support/shared_examples/signature/shared/recipient_methods.rb +46 -46
- data/spec/support/shared_examples/signature/shared/resource_methods.rb +46 -46
- metadata +35 -55
@@ -1,335 +1,335 @@
|
|
1
|
-
module GroupDocs
|
2
|
-
class Questionnaire::Collector < Api::Entity
|
3
|
-
|
4
|
-
include Api::Helpers::Status
|
5
|
-
|
6
|
-
#
|
7
|
-
# Returns collector by its guid.
|
8
|
-
#
|
9
|
-
# @param [String] guid
|
10
|
-
# @param [Hash] access Access credentials
|
11
|
-
# @option access [String] :client_id
|
12
|
-
# @option access [String] :private_key
|
13
|
-
# @return [GroupDocs::Questionnaire::Collector]
|
14
|
-
#
|
15
|
-
def self.get!(guid, access = {})
|
16
|
-
json = Api::Request.new do |request|
|
17
|
-
request[:access] = access
|
18
|
-
request[:method] = :GET
|
19
|
-
request[:path] = "/merge/{{client_id}}/questionnaires/collectors/#{guid}"
|
20
|
-
end.execute!
|
21
|
-
|
22
|
-
collector = json[:collector]
|
23
|
-
collector.merge!(:questionnaire => Questionnaire.new(:id => collector[:questionnaire_id]))
|
24
|
-
|
25
|
-
new(collector)
|
26
|
-
end
|
27
|
-
|
28
|
-
# @attr [Integer] id
|
29
|
-
attr_accessor :id
|
30
|
-
# @attr [String] guid
|
31
|
-
attr_accessor :guid
|
32
|
-
# @attr [GroupDocs::Questionnaire] questionnaire
|
33
|
-
attr_accessor :questionnaire
|
34
|
-
# @attr [Integer] questionnaire_id
|
35
|
-
attr_accessor :questionnaire_id
|
36
|
-
# @attr [Symbol] status
|
37
|
-
attr_accessor :status
|
38
|
-
# @attr [Symbol] type
|
39
|
-
attr_accessor :type
|
40
|
-
# @attr [Integer] resolved_executions
|
41
|
-
attr_accessor :resolved_executions
|
42
|
-
# @attr [Array<String>] emails
|
43
|
-
attr_accessor :emails
|
44
|
-
# @attr [Time] modified
|
45
|
-
attr_accessor :modified
|
46
|
-
|
47
|
-
#
|
48
|
-
# Creates new GroupDocs::Questionnaire::Collector.
|
49
|
-
#
|
50
|
-
# @raise [ArgumentError] If questionnaire is not passed or is not an instance of GroupDocs::Questionnaire
|
51
|
-
#
|
52
|
-
def initialize(options = {}, &blk)
|
53
|
-
super(options, &blk)
|
54
|
-
questionnaire.is_a?(GroupDocs::Questionnaire) or raise ArgumentError,
|
55
|
-
"You have to pass GroupDocs::Questionnaire object: #{questionnaire.inspect}."
|
56
|
-
end
|
57
|
-
|
58
|
-
#
|
59
|
-
# Converts status to human-readable format.
|
60
|
-
# @return [Symbol]
|
61
|
-
#
|
62
|
-
def status
|
63
|
-
parse_status(@status)
|
64
|
-
end
|
65
|
-
|
66
|
-
#
|
67
|
-
# Updates type with machine-readable format.
|
68
|
-
#
|
69
|
-
# @param [Symbol] type
|
70
|
-
#
|
71
|
-
def type=(type)
|
72
|
-
@type = type.is_a?(Symbol) ? type.to_s.capitalize : type
|
73
|
-
end
|
74
|
-
|
75
|
-
#
|
76
|
-
# Converts type to human-readable format.
|
77
|
-
# @return [Symbol]
|
78
|
-
#
|
79
|
-
def type
|
80
|
-
parse_status(@type)
|
81
|
-
end
|
82
|
-
|
83
|
-
#
|
84
|
-
# Converts timestamp which is return by API server to Time object.
|
85
|
-
# @return [Time]
|
86
|
-
#
|
87
|
-
def modified
|
88
|
-
Time.at(@modified / 1000)
|
89
|
-
end
|
90
|
-
|
91
|
-
#
|
92
|
-
# Adds collector.
|
93
|
-
#
|
94
|
-
# @example
|
95
|
-
# questionnaire = GroupDocs::Questionnaire.get!(1)
|
96
|
-
# collector = GroupDocs::Questionnaire::Collector.new(questionnaire: questionnaire)
|
97
|
-
# collector.type = :link
|
98
|
-
# collector.add!
|
99
|
-
#
|
100
|
-
# @param [Hash] access Access credentials
|
101
|
-
# @option access [String] :client_id
|
102
|
-
# @option access [String] :private_key
|
103
|
-
#
|
104
|
-
def add!(access = {})
|
105
|
-
json = Api::Request.new do |request|
|
106
|
-
request[:access] = access
|
107
|
-
request[:method] = :POST
|
108
|
-
request[:path] = "/merge/{{client_id}}/questionnaires/#{questionnaire.guid}/collectors"
|
109
|
-
request[:request_body] = to_hash
|
110
|
-
end.execute!
|
111
|
-
|
112
|
-
self.id = json[:collector_id]
|
113
|
-
self.guid = json[:collector_guid]
|
114
|
-
end
|
115
|
-
|
116
|
-
#
|
117
|
-
# Updates collector.
|
118
|
-
#
|
119
|
-
# @example
|
120
|
-
# questionnaire = GroupDocs::Questionnaire.get!(1)
|
121
|
-
# collector = questionnaire.collectors!.first
|
122
|
-
# collector.type = :embedded
|
123
|
-
# collector.update!
|
124
|
-
#
|
125
|
-
# @param [Hash] access Access credentials
|
126
|
-
# @option access [String] :client_id
|
127
|
-
# @option access [String] :private_key
|
128
|
-
#
|
129
|
-
def update!(access = {})
|
130
|
-
Api::Request.new do |request|
|
131
|
-
request[:access] = access
|
132
|
-
request[:method] = :PUT
|
133
|
-
request[:path] = "/merge/{{client_id}}/questionnaires/collectors/#{guid}"
|
134
|
-
request[:request_body] = to_hash
|
135
|
-
end.execute!
|
136
|
-
end
|
137
|
-
|
138
|
-
#
|
139
|
-
# Removes collector.
|
140
|
-
#
|
141
|
-
# @param [Hash] access Access credentials
|
142
|
-
# @option access [String] :client_id
|
143
|
-
# @option access [String] :private_key
|
144
|
-
#
|
145
|
-
def remove!(access = {})
|
146
|
-
Api::Request.new do |request|
|
147
|
-
request[:access] = access
|
148
|
-
request[:method] = :DELETE
|
149
|
-
request[:path] = "/merge/{{client_id}}/questionnaires/collectors/#{guid}"
|
150
|
-
end.execute!
|
151
|
-
end
|
152
|
-
|
153
|
-
#
|
154
|
-
# Returns an array of questionnaire collector executions.
|
155
|
-
#
|
156
|
-
# @param [Hash] access Access credentials
|
157
|
-
# @option access [String] :client_id
|
158
|
-
# @option access [String] :private_key
|
159
|
-
# @return [Array<GroupDocs::Questionnaire::Execution>]
|
160
|
-
#
|
161
|
-
def executions!(access = {})
|
162
|
-
json = Api::Request.new do |request|
|
163
|
-
request[:access] = access
|
164
|
-
request[:method] = :GET
|
165
|
-
request[:path] = "/merge/{{client_id}}/questionnaires/collectors/#{guid}/executions"
|
166
|
-
end.execute!
|
167
|
-
|
168
|
-
json[:executions].map do |execution|
|
169
|
-
Questionnaire::Execution.new(execution)
|
170
|
-
end
|
171
|
-
end
|
172
|
-
|
173
|
-
#
|
174
|
-
# Adds new questionnaire execution.
|
175
|
-
#
|
176
|
-
# @example
|
177
|
-
# questionnaire = GroupDocs::Questionnaire.get!(1)
|
178
|
-
# collector = questionnaire.collectors!.first
|
179
|
-
# execution = GroupDocs::Questionnaire::Execution.new
|
180
|
-
# execution.executive = GroupDocs::User.new(primary_email: 'john@smith.com')
|
181
|
-
# # make sure to save execution as it has updated attributes
|
182
|
-
# execution = collector.add_execution!(execution)
|
183
|
-
# #=> #<GroupDocs::Questionnaire::Execution @id=1, @questionnaire_id=1>
|
184
|
-
#
|
185
|
-
# @param [GroupDocs::Questionnaire::Execution] execution
|
186
|
-
# @param [Hash] access Access credentials
|
187
|
-
# @option access [String] :client_id
|
188
|
-
# @option access [String] :private_key
|
189
|
-
# @return [GroupDocs::Questionnaire::Execution] updated execution
|
190
|
-
#
|
191
|
-
def add_execution!(execution, access = {})
|
192
|
-
execution.is_a?(GroupDocs::Questionnaire::Execution) or raise ArgumentError,
|
193
|
-
"Execution should be GroupDocs::Questionnaire::Execution object, received: #{execution.inspect}"
|
194
|
-
|
195
|
-
json = Api::Request.new do |request|
|
196
|
-
request[:access] = access
|
197
|
-
request[:method] = :POST
|
198
|
-
request[:path] = "/merge/{{client_id}}/questionnaires/collectors/#{guid}/executions"
|
199
|
-
request[:request_body] = execution.to_hash
|
200
|
-
end.execute!
|
201
|
-
|
202
|
-
execution.id = json[:execution_id]
|
203
|
-
execution.guid = json[:execution_guid]
|
204
|
-
execution.collector_id = json[:collector_id]
|
205
|
-
|
206
|
-
execution
|
207
|
-
end
|
208
|
-
|
209
|
-
#
|
210
|
-
# Creates new job to merge datasource into questionnaire collector.
|
211
|
-
#
|
212
|
-
# @example
|
213
|
-
# # get template and its first field
|
214
|
-
# document = GroupDocs::Document.templates!.first
|
215
|
-
# field = document.fields!.first
|
216
|
-
# # create questionnaire
|
217
|
-
# answer = GroupDocs::Questionnaire::Question::Answer.new(text: 'Text', value: 'Value1')
|
218
|
-
# question = GroupDocs::Questionnaire::Question.new(field: field.name, text: 'Question', answers: [answer])
|
219
|
-
# page = GroupDocs::Questionnaire::Page.new(number: field.page, questions: [question])
|
220
|
-
# questionnaire = GroupDocs::Questionnaire.new(name: 'Questionnaire', description: 'Description', pages: [page])
|
221
|
-
# questionnaire.create!
|
222
|
-
# # add questionnaire to document
|
223
|
-
# document.add_questionnaire! questionnaire
|
224
|
-
# # create collector
|
225
|
-
# collector = GroupDocs::Questionnaire::Collector.new(questionnaire: questionnaire)
|
226
|
-
# collector.type = :link
|
227
|
-
# collector.add!
|
228
|
-
# # create datasource and its field
|
229
|
-
# field = GroupDocs::DataSource::Field.new(field: field.name, values: %w(test1 test2))
|
230
|
-
# datasource = GroupDocs::DataSource.new(fields: [field])
|
231
|
-
# datasource.add!
|
232
|
-
# # fill collector with datasrouce and send results to email
|
233
|
-
# collector.fill!(datasource, email_results: true)
|
234
|
-
#
|
235
|
-
# @param [GroupDocs::DataSource] datasource
|
236
|
-
# @param [Hash] options
|
237
|
-
# @option options [Boolean] :new_type New file format type
|
238
|
-
# @option options [Boolean] :email_results Set to true if converted document should be emailed
|
239
|
-
# @param [Hash] access Access credentials
|
240
|
-
# @option access [String] :client_id
|
241
|
-
# @option access [String] :private_key
|
242
|
-
# @return [GroupDocs::Job]
|
243
|
-
#
|
244
|
-
# @raise [ArgumentError] if datasource is not GroupDocs::DataSource object
|
245
|
-
#
|
246
|
-
def fill!(datasource, options = {}, access = {})
|
247
|
-
datasource.is_a?(GroupDocs::DataSource) or raise ArgumentError,
|
248
|
-
"Datasource should be GroupDocs::DataSource object, received: #{datasource.inspect}"
|
249
|
-
|
250
|
-
api = Api::Request.new do |request|
|
251
|
-
request[:access] = access
|
252
|
-
request[:method] = :POST
|
253
|
-
request[:path] = "/merge/{{client_id}}/questionnaires/collectors/#{guid}/datasources/#{datasource.id}"
|
254
|
-
end
|
255
|
-
api.add_params(options)
|
256
|
-
json = api.execute!
|
257
|
-
|
258
|
-
Job.new(:id => json[:job_id])
|
259
|
-
end
|
260
|
-
|
261
|
-
|
262
|
-
#
|
263
|
-
# Added in release 1.5.8
|
264
|
-
#
|
265
|
-
# Get questionnaire by collector guid
|
266
|
-
#
|
267
|
-
# @param [Hash] access Access credentials
|
268
|
-
# @option access [String] :client_id
|
269
|
-
# @option access [String] :private_key
|
270
|
-
#
|
271
|
-
def get_questionnaire!(access = {})
|
272
|
-
api = Api::Request.new do |request|
|
273
|
-
request[:access] = access
|
274
|
-
request[:method] = :GET
|
275
|
-
request[:path] = "/merge/{{client_id}}/questionnaires/collector/#{guid}"
|
276
|
-
end
|
277
|
-
json = api.execute!
|
278
|
-
Questionnaire.new(json[:questionnaire])
|
279
|
-
|
280
|
-
end
|
281
|
-
|
282
|
-
#
|
283
|
-
# Added in release 1.7.0
|
284
|
-
#
|
285
|
-
# Decorate questionnaire collector
|
286
|
-
#
|
287
|
-
# @example
|
288
|
-
# questionnaire = GroupDocs::Questionnaire.get!(1)
|
289
|
-
# collector = questionnaire.collectors!.first
|
290
|
-
# style = GroupDocs::Questionnaire::QuestionnaireCollectorStyle.new
|
291
|
-
# style.collectorId = collector.id
|
292
|
-
# title = GroupDocs::Questionnaire::QuestionnaireCollectorStyle::Title.new
|
293
|
-
# title.color = 'blue'
|
294
|
-
# style.title = title
|
295
|
-
#
|
296
|
-
# @param [Hash] access Access credentials
|
297
|
-
# @option access [String] :client_id
|
298
|
-
# @option access [String] :private_key
|
299
|
-
#
|
300
|
-
def decorate!(style, access = {})
|
301
|
-
style.is_a?(GroupDocs::Questionnaire::QuestionnaireCollectorStyle) or raise ArgumentError,
|
302
|
-
"Style should be GroupDocs::Questionnaire::QuestionnaireCollectorStyle object, received: #{style.inspect}"
|
303
|
-
Api::Request.new do |request|
|
304
|
-
request[:access] = access
|
305
|
-
request[:method] = :POST
|
306
|
-
request[:path] = "/merge/{{client_id}}/questionnaires/collectors/#{guid}/decorate"
|
307
|
-
request[:request_body] = style
|
308
|
-
end.execute!
|
309
|
-
end
|
310
|
-
|
311
|
-
|
312
|
-
#
|
313
|
-
# Added in release 1.7.0
|
314
|
-
#
|
315
|
-
# Returns questionnaire collector style
|
316
|
-
#
|
317
|
-
# @example
|
318
|
-
# questionnaire = GroupDocs::Questionnaire.get!(1)
|
319
|
-
# collector = questionnaire.collectors!.first
|
320
|
-
# collector.decorate!
|
321
|
-
#
|
322
|
-
# @param [Hash] access Access credentials
|
323
|
-
# @option access [String] :client_id
|
324
|
-
# @option access [String] :private_key
|
325
|
-
#
|
326
|
-
def get_decorate!(access = {})
|
327
|
-
Api::Request.new do |request|
|
328
|
-
request[:access] = access
|
329
|
-
request[:method] = :GET
|
330
|
-
request[:path] = "/merge/{{client_id}}/questionnaires/collector/#{guid}/style"
|
331
|
-
end.execute!
|
332
|
-
end
|
333
|
-
|
334
|
-
end # Questionnaire::Collector
|
335
|
-
end # GroupDocs
|
1
|
+
module GroupDocs
|
2
|
+
class Questionnaire::Collector < Api::Entity
|
3
|
+
|
4
|
+
include Api::Helpers::Status
|
5
|
+
|
6
|
+
#
|
7
|
+
# Returns collector by its guid.
|
8
|
+
#
|
9
|
+
# @param [String] guid
|
10
|
+
# @param [Hash] access Access credentials
|
11
|
+
# @option access [String] :client_id
|
12
|
+
# @option access [String] :private_key
|
13
|
+
# @return [GroupDocs::Questionnaire::Collector]
|
14
|
+
#
|
15
|
+
def self.get!(guid, access = {})
|
16
|
+
json = Api::Request.new do |request|
|
17
|
+
request[:access] = access
|
18
|
+
request[:method] = :GET
|
19
|
+
request[:path] = "/merge/{{client_id}}/questionnaires/collectors/#{guid}"
|
20
|
+
end.execute!
|
21
|
+
|
22
|
+
collector = json[:collector]
|
23
|
+
collector.merge!(:questionnaire => Questionnaire.new(:id => collector[:questionnaire_id]))
|
24
|
+
|
25
|
+
new(collector)
|
26
|
+
end
|
27
|
+
|
28
|
+
# @attr [Integer] id
|
29
|
+
attr_accessor :id
|
30
|
+
# @attr [String] guid
|
31
|
+
attr_accessor :guid
|
32
|
+
# @attr [GroupDocs::Questionnaire] questionnaire
|
33
|
+
attr_accessor :questionnaire
|
34
|
+
# @attr [Integer] questionnaire_id
|
35
|
+
attr_accessor :questionnaire_id
|
36
|
+
# @attr [Symbol] status
|
37
|
+
attr_accessor :status
|
38
|
+
# @attr [Symbol] type
|
39
|
+
attr_accessor :type
|
40
|
+
# @attr [Integer] resolved_executions
|
41
|
+
attr_accessor :resolved_executions
|
42
|
+
# @attr [Array<String>] emails
|
43
|
+
attr_accessor :emails
|
44
|
+
# @attr [Time] modified
|
45
|
+
attr_accessor :modified
|
46
|
+
|
47
|
+
#
|
48
|
+
# Creates new GroupDocs::Questionnaire::Collector.
|
49
|
+
#
|
50
|
+
# @raise [ArgumentError] If questionnaire is not passed or is not an instance of GroupDocs::Questionnaire
|
51
|
+
#
|
52
|
+
def initialize(options = {}, &blk)
|
53
|
+
super(options, &blk)
|
54
|
+
questionnaire.is_a?(GroupDocs::Questionnaire) or raise ArgumentError,
|
55
|
+
"You have to pass GroupDocs::Questionnaire object: #{questionnaire.inspect}."
|
56
|
+
end
|
57
|
+
|
58
|
+
#
|
59
|
+
# Converts status to human-readable format.
|
60
|
+
# @return [Symbol]
|
61
|
+
#
|
62
|
+
def status
|
63
|
+
parse_status(@status)
|
64
|
+
end
|
65
|
+
|
66
|
+
#
|
67
|
+
# Updates type with machine-readable format.
|
68
|
+
#
|
69
|
+
# @param [Symbol] type
|
70
|
+
#
|
71
|
+
def type=(type)
|
72
|
+
@type = type.is_a?(Symbol) ? type.to_s.capitalize : type
|
73
|
+
end
|
74
|
+
|
75
|
+
#
|
76
|
+
# Converts type to human-readable format.
|
77
|
+
# @return [Symbol]
|
78
|
+
#
|
79
|
+
def type
|
80
|
+
parse_status(@type)
|
81
|
+
end
|
82
|
+
|
83
|
+
#
|
84
|
+
# Converts timestamp which is return by API server to Time object.
|
85
|
+
# @return [Time]
|
86
|
+
#
|
87
|
+
def modified
|
88
|
+
Time.at(@modified / 1000)
|
89
|
+
end
|
90
|
+
|
91
|
+
#
|
92
|
+
# Adds collector.
|
93
|
+
#
|
94
|
+
# @example
|
95
|
+
# questionnaire = GroupDocs::Questionnaire.get!(1)
|
96
|
+
# collector = GroupDocs::Questionnaire::Collector.new(questionnaire: questionnaire)
|
97
|
+
# collector.type = :link
|
98
|
+
# collector.add!
|
99
|
+
#
|
100
|
+
# @param [Hash] access Access credentials
|
101
|
+
# @option access [String] :client_id
|
102
|
+
# @option access [String] :private_key
|
103
|
+
#
|
104
|
+
def add!(access = {})
|
105
|
+
json = Api::Request.new do |request|
|
106
|
+
request[:access] = access
|
107
|
+
request[:method] = :POST
|
108
|
+
request[:path] = "/merge/{{client_id}}/questionnaires/#{questionnaire.guid}/collectors"
|
109
|
+
request[:request_body] = to_hash
|
110
|
+
end.execute!
|
111
|
+
|
112
|
+
self.id = json[:collector_id]
|
113
|
+
self.guid = json[:collector_guid]
|
114
|
+
end
|
115
|
+
|
116
|
+
#
|
117
|
+
# Updates collector.
|
118
|
+
#
|
119
|
+
# @example
|
120
|
+
# questionnaire = GroupDocs::Questionnaire.get!(1)
|
121
|
+
# collector = questionnaire.collectors!.first
|
122
|
+
# collector.type = :embedded
|
123
|
+
# collector.update!
|
124
|
+
#
|
125
|
+
# @param [Hash] access Access credentials
|
126
|
+
# @option access [String] :client_id
|
127
|
+
# @option access [String] :private_key
|
128
|
+
#
|
129
|
+
def update!(access = {})
|
130
|
+
Api::Request.new do |request|
|
131
|
+
request[:access] = access
|
132
|
+
request[:method] = :PUT
|
133
|
+
request[:path] = "/merge/{{client_id}}/questionnaires/collectors/#{guid}"
|
134
|
+
request[:request_body] = to_hash
|
135
|
+
end.execute!
|
136
|
+
end
|
137
|
+
|
138
|
+
#
|
139
|
+
# Removes collector.
|
140
|
+
#
|
141
|
+
# @param [Hash] access Access credentials
|
142
|
+
# @option access [String] :client_id
|
143
|
+
# @option access [String] :private_key
|
144
|
+
#
|
145
|
+
def remove!(access = {})
|
146
|
+
Api::Request.new do |request|
|
147
|
+
request[:access] = access
|
148
|
+
request[:method] = :DELETE
|
149
|
+
request[:path] = "/merge/{{client_id}}/questionnaires/collectors/#{guid}"
|
150
|
+
end.execute!
|
151
|
+
end
|
152
|
+
|
153
|
+
#
|
154
|
+
# Returns an array of questionnaire collector executions.
|
155
|
+
#
|
156
|
+
# @param [Hash] access Access credentials
|
157
|
+
# @option access [String] :client_id
|
158
|
+
# @option access [String] :private_key
|
159
|
+
# @return [Array<GroupDocs::Questionnaire::Execution>]
|
160
|
+
#
|
161
|
+
def executions!(access = {})
|
162
|
+
json = Api::Request.new do |request|
|
163
|
+
request[:access] = access
|
164
|
+
request[:method] = :GET
|
165
|
+
request[:path] = "/merge/{{client_id}}/questionnaires/collectors/#{guid}/executions"
|
166
|
+
end.execute!
|
167
|
+
|
168
|
+
json[:executions].map do |execution|
|
169
|
+
Questionnaire::Execution.new(execution)
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
173
|
+
#
|
174
|
+
# Adds new questionnaire execution.
|
175
|
+
#
|
176
|
+
# @example
|
177
|
+
# questionnaire = GroupDocs::Questionnaire.get!(1)
|
178
|
+
# collector = questionnaire.collectors!.first
|
179
|
+
# execution = GroupDocs::Questionnaire::Execution.new
|
180
|
+
# execution.executive = GroupDocs::User.new(primary_email: 'john@smith.com')
|
181
|
+
# # make sure to save execution as it has updated attributes
|
182
|
+
# execution = collector.add_execution!(execution)
|
183
|
+
# #=> #<GroupDocs::Questionnaire::Execution @id=1, @questionnaire_id=1>
|
184
|
+
#
|
185
|
+
# @param [GroupDocs::Questionnaire::Execution] execution
|
186
|
+
# @param [Hash] access Access credentials
|
187
|
+
# @option access [String] :client_id
|
188
|
+
# @option access [String] :private_key
|
189
|
+
# @return [GroupDocs::Questionnaire::Execution] updated execution
|
190
|
+
#
|
191
|
+
def add_execution!(execution, access = {})
|
192
|
+
execution.is_a?(GroupDocs::Questionnaire::Execution) or raise ArgumentError,
|
193
|
+
"Execution should be GroupDocs::Questionnaire::Execution object, received: #{execution.inspect}"
|
194
|
+
|
195
|
+
json = Api::Request.new do |request|
|
196
|
+
request[:access] = access
|
197
|
+
request[:method] = :POST
|
198
|
+
request[:path] = "/merge/{{client_id}}/questionnaires/collectors/#{guid}/executions"
|
199
|
+
request[:request_body] = execution.to_hash
|
200
|
+
end.execute!
|
201
|
+
|
202
|
+
execution.id = json[:execution_id]
|
203
|
+
execution.guid = json[:execution_guid]
|
204
|
+
execution.collector_id = json[:collector_id]
|
205
|
+
|
206
|
+
execution
|
207
|
+
end
|
208
|
+
|
209
|
+
#
|
210
|
+
# Creates new job to merge datasource into questionnaire collector.
|
211
|
+
#
|
212
|
+
# @example
|
213
|
+
# # get template and its first field
|
214
|
+
# document = GroupDocs::Document.templates!.first
|
215
|
+
# field = document.fields!.first
|
216
|
+
# # create questionnaire
|
217
|
+
# answer = GroupDocs::Questionnaire::Question::Answer.new(text: 'Text', value: 'Value1')
|
218
|
+
# question = GroupDocs::Questionnaire::Question.new(field: field.name, text: 'Question', answers: [answer])
|
219
|
+
# page = GroupDocs::Questionnaire::Page.new(number: field.page, questions: [question])
|
220
|
+
# questionnaire = GroupDocs::Questionnaire.new(name: 'Questionnaire', description: 'Description', pages: [page])
|
221
|
+
# questionnaire.create!
|
222
|
+
# # add questionnaire to document
|
223
|
+
# document.add_questionnaire! questionnaire
|
224
|
+
# # create collector
|
225
|
+
# collector = GroupDocs::Questionnaire::Collector.new(questionnaire: questionnaire)
|
226
|
+
# collector.type = :link
|
227
|
+
# collector.add!
|
228
|
+
# # create datasource and its field
|
229
|
+
# field = GroupDocs::DataSource::Field.new(field: field.name, values: %w(test1 test2))
|
230
|
+
# datasource = GroupDocs::DataSource.new(fields: [field])
|
231
|
+
# datasource.add!
|
232
|
+
# # fill collector with datasrouce and send results to email
|
233
|
+
# collector.fill!(datasource, email_results: true)
|
234
|
+
#
|
235
|
+
# @param [GroupDocs::DataSource] datasource
|
236
|
+
# @param [Hash] options
|
237
|
+
# @option options [Boolean] :new_type New file format type
|
238
|
+
# @option options [Boolean] :email_results Set to true if converted document should be emailed
|
239
|
+
# @param [Hash] access Access credentials
|
240
|
+
# @option access [String] :client_id
|
241
|
+
# @option access [String] :private_key
|
242
|
+
# @return [GroupDocs::Job]
|
243
|
+
#
|
244
|
+
# @raise [ArgumentError] if datasource is not GroupDocs::DataSource object
|
245
|
+
#
|
246
|
+
def fill!(datasource, options = {}, access = {})
|
247
|
+
datasource.is_a?(GroupDocs::DataSource) or raise ArgumentError,
|
248
|
+
"Datasource should be GroupDocs::DataSource object, received: #{datasource.inspect}"
|
249
|
+
|
250
|
+
api = Api::Request.new do |request|
|
251
|
+
request[:access] = access
|
252
|
+
request[:method] = :POST
|
253
|
+
request[:path] = "/merge/{{client_id}}/questionnaires/collectors/#{guid}/datasources/#{datasource.id}"
|
254
|
+
end
|
255
|
+
api.add_params(options)
|
256
|
+
json = api.execute!
|
257
|
+
|
258
|
+
Job.new(:id => json[:job_id])
|
259
|
+
end
|
260
|
+
|
261
|
+
|
262
|
+
#
|
263
|
+
# Added in release 1.5.8
|
264
|
+
#
|
265
|
+
# Get questionnaire by collector guid
|
266
|
+
#
|
267
|
+
# @param [Hash] access Access credentials
|
268
|
+
# @option access [String] :client_id
|
269
|
+
# @option access [String] :private_key
|
270
|
+
#
|
271
|
+
def get_questionnaire!(access = {})
|
272
|
+
api = Api::Request.new do |request|
|
273
|
+
request[:access] = access
|
274
|
+
request[:method] = :GET
|
275
|
+
request[:path] = "/merge/{{client_id}}/questionnaires/collector/#{guid}"
|
276
|
+
end
|
277
|
+
json = api.execute!
|
278
|
+
Questionnaire.new(json[:questionnaire])
|
279
|
+
|
280
|
+
end
|
281
|
+
|
282
|
+
#
|
283
|
+
# Added in release 1.7.0
|
284
|
+
#
|
285
|
+
# Decorate questionnaire collector
|
286
|
+
#
|
287
|
+
# @example
|
288
|
+
# questionnaire = GroupDocs::Questionnaire.get!(1)
|
289
|
+
# collector = questionnaire.collectors!.first
|
290
|
+
# style = GroupDocs::Questionnaire::QuestionnaireCollectorStyle.new
|
291
|
+
# style.collectorId = collector.id
|
292
|
+
# title = GroupDocs::Questionnaire::QuestionnaireCollectorStyle::Title.new
|
293
|
+
# title.color = 'blue'
|
294
|
+
# style.title = title
|
295
|
+
#
|
296
|
+
# @param [Hash] access Access credentials
|
297
|
+
# @option access [String] :client_id
|
298
|
+
# @option access [String] :private_key
|
299
|
+
#
|
300
|
+
def decorate!(style, access = {})
|
301
|
+
style.is_a?(GroupDocs::Questionnaire::QuestionnaireCollectorStyle) or raise ArgumentError,
|
302
|
+
"Style should be GroupDocs::Questionnaire::QuestionnaireCollectorStyle object, received: #{style.inspect}"
|
303
|
+
Api::Request.new do |request|
|
304
|
+
request[:access] = access
|
305
|
+
request[:method] = :POST
|
306
|
+
request[:path] = "/merge/{{client_id}}/questionnaires/collectors/#{guid}/decorate"
|
307
|
+
request[:request_body] = style
|
308
|
+
end.execute!
|
309
|
+
end
|
310
|
+
|
311
|
+
|
312
|
+
#
|
313
|
+
# Added in release 1.7.0
|
314
|
+
#
|
315
|
+
# Returns questionnaire collector style
|
316
|
+
#
|
317
|
+
# @example
|
318
|
+
# questionnaire = GroupDocs::Questionnaire.get!(1)
|
319
|
+
# collector = questionnaire.collectors!.first
|
320
|
+
# collector.decorate!
|
321
|
+
#
|
322
|
+
# @param [Hash] access Access credentials
|
323
|
+
# @option access [String] :client_id
|
324
|
+
# @option access [String] :private_key
|
325
|
+
#
|
326
|
+
def get_decorate!(access = {})
|
327
|
+
Api::Request.new do |request|
|
328
|
+
request[:access] = access
|
329
|
+
request[:method] = :GET
|
330
|
+
request[:path] = "/merge/{{client_id}}/questionnaires/collector/#{guid}/style"
|
331
|
+
end.execute!
|
332
|
+
end
|
333
|
+
|
334
|
+
end # Questionnaire::Collector
|
335
|
+
end # GroupDocs
|