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