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,6 +1,6 @@
1
- require 'groupdocs/signature/shared/document_methods'
2
- require 'groupdocs/signature/shared/entity_fields'
3
- require 'groupdocs/signature/shared/entity_methods'
4
- require 'groupdocs/signature/shared/field_methods'
5
- require 'groupdocs/signature/shared/recipient_methods'
6
- require 'groupdocs/signature/shared/resource_methods'
1
+ require 'groupdocs/signature/shared/document_methods'
2
+ require 'groupdocs/signature/shared/entity_fields'
3
+ require 'groupdocs/signature/shared/entity_methods'
4
+ require 'groupdocs/signature/shared/field_methods'
5
+ require 'groupdocs/signature/shared/recipient_methods'
6
+ require 'groupdocs/signature/shared/resource_methods'
@@ -1,158 +1,158 @@
1
- module GroupDocs
2
- class Signature
3
- #
4
- # Envelope and template entities share the same set of document methods.
5
- #
6
- # @see GroupDocs::Signature::Envelope
7
- # @see GroupDocs::Signature::Form
8
- # @see GroupDocs::Signature::Template
9
- #
10
- module DocumentMethods
11
-
12
- #
13
- # Returns documents array.
14
- #
15
- # @param [Hash] options
16
- # @option options [Boolean] :public Defaults to false
17
- # @option options [GroupDocs::Signature::Recipient] :recipient Used if :public is true and self is envelope
18
- # @param [Hash] access Access credentials
19
- # @option access [String] :client_id
20
- # @option access [String] :private_key
21
- # @return [Array<GroupDocs::Document>]
22
- #
23
- def documents!(options = {}, access = {})
24
- path = if options[:public]
25
- case class_name
26
- when 'envelope'
27
- options[:recipient].is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
28
- "Recipient should be GroupDocs::Signature::Recipient object, received: #{options[:recipient].inspect}"
29
-
30
- "/signature/public/envelopes/#{id}/recipient/#{options[:recipient].id}/documents"
31
- when 'form'
32
- "/signature/public/forms/#{id}/documents"
33
- else
34
- raise ArgumentError, "Public is supported only for envelope or form."
35
- end
36
- else
37
- "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/documents"
38
- end
39
-
40
- json = Api::Request.new do |request|
41
- request[:access] = access
42
- request[:method] = :GET
43
- request[:path] = path
44
- end.execute!
45
-
46
- json[:documents].map do |document|
47
- id = document[:documentId] || document[:id]
48
- file = Storage::File.new(:guid => id, :name => document[:name])
49
- Document.new(document.merge(:file => file))
50
- end
51
-
52
- end
53
-
54
- #
55
- # Adds document.
56
- #
57
- # @example
58
- # template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
59
- # document = GroupDocs::Storage::Folder.list!.last.to_document
60
- # template.add_document! document
61
- #
62
- # @example
63
- # envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
64
- # document = GroupDocs::Storage::Folder.list!.last.to_document
65
- # envelope.add_document! document
66
- #
67
- # @param [GroupDocs::Document] document
68
- # @param [Hash] options
69
- # @option options [Boolean] :parseFields Try to parse fields in document
70
- # @option options [Integer] :order Display order of the document
71
- # @param [Hash] access Access credentials
72
- # @option access [String] :client_id
73
- # @option access [String] :private_key
74
- # @raise [ArgumentError] if document is not GroupDocs::Document
75
- #
76
- def add_document!(document, options = {}, access = {})
77
- document.is_a?(GroupDocs::Document) or raise ArgumentError,
78
- "Document should be GroupDocs::Document object, received: #{document.inspect}"
79
-
80
- api = Api::Request.new do |request|
81
- request[:access] = access
82
- request[:method] = :POST
83
- request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/document/#{document.file.guid}"
84
- end
85
- api.add_params(options)
86
- api.execute!
87
- end
88
-
89
- #
90
- # Removes document.
91
- #
92
- # @example
93
- # template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
94
- # document = template.documents!.first
95
- # template.remove_document! document
96
- #
97
- # @example
98
- # envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
99
- # document = envelope.documents!.first
100
- # envelope.remove_document! document
101
- #
102
- # @param [GroupDocs::Document] document
103
- # @param [Hash] access Access credentials
104
- # @option access [String] :client_id
105
- # @option access [String] :private_key
106
- # @raise [ArgumentError] if document is not GroupDocs::Document
107
- #
108
- def remove_document!(document, access = {})
109
- document.is_a?(GroupDocs::Document) or raise ArgumentError,
110
- "Document should be GroupDocs::Document object, received: #{document.inspect}"
111
-
112
- Api::Request.new do |request|
113
- request[:access] = access
114
- request[:method] = :DELETE
115
- request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/documents/#{document.file.guid}"
116
- end.execute!
117
- end
118
-
119
- #
120
- # Rename signature template document
121
- #
122
- # @example Rename document from template
123
- # template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
124
- # document = template.documents!.first
125
- # template.rename_document! (new_name, document)
126
- #
127
- # @example Rename document from envelope
128
- # envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
129
- # document = envelope.documents!.first
130
- # envelope.rename_document! (new_name, document)
131
- #
132
- # @example Rename document from form
133
- # form = GroupDocs::Signature::Form.get!("g94h5g84hj9g4gf23i40j")
134
- # document = envelope.documents!.first
135
- # form.rename_document! (new_name, document)
136
- #
137
- # @param [GroupDocs::Signature::Field] field
138
- # @param [Hash] access Access credentials
139
- # @option access [String] :client_id
140
- # @option access [String] :private_key
141
- # @raise [ArgumentError] if field is not GroupDocs::Signature::Field
142
- #
143
- def rename_document!(new_name, document, access = {})
144
- document.is_a?(GroupDocs::Document) or raise ArgumentError,
145
- "Document should be GroupDocs::Document object, received: #{document.inspect}"
146
-
147
- api = Api::Request.new do |request|
148
- request[:access] = access
149
- request[:method] = :PUT
150
- request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/document/#{document.file.guid}"
151
- end
152
- api.add_params(:newName => new_name)
153
- api.execute!
154
- end
155
-
156
- end # DocumentMethods
157
- end # Signature
158
- end # GroupDocs
1
+ module GroupDocs
2
+ class Signature
3
+ #
4
+ # Envelope and template entities share the same set of document methods.
5
+ #
6
+ # @see GroupDocs::Signature::Envelope
7
+ # @see GroupDocs::Signature::Form
8
+ # @see GroupDocs::Signature::Template
9
+ #
10
+ module DocumentMethods
11
+
12
+ #
13
+ # Returns documents array.
14
+ #
15
+ # @param [Hash] options
16
+ # @option options [Boolean] :public Defaults to false
17
+ # @option options [GroupDocs::Signature::Recipient] :recipient Used if :public is true and self is envelope
18
+ # @param [Hash] access Access credentials
19
+ # @option access [String] :client_id
20
+ # @option access [String] :private_key
21
+ # @return [Array<GroupDocs::Document>]
22
+ #
23
+ def documents!(options = {}, access = {})
24
+ path = if options[:public]
25
+ case class_name
26
+ when 'envelope'
27
+ options[:recipient].is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
28
+ "Recipient should be GroupDocs::Signature::Recipient object, received: #{options[:recipient].inspect}"
29
+
30
+ "/signature/public/envelopes/#{id}/recipient/#{options[:recipient].id}/documents"
31
+ when 'form'
32
+ "/signature/public/forms/#{id}/documents"
33
+ else
34
+ raise ArgumentError, "Public is supported only for envelope or form."
35
+ end
36
+ else
37
+ "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/documents"
38
+ end
39
+
40
+ json = Api::Request.new do |request|
41
+ request[:access] = access
42
+ request[:method] = :GET
43
+ request[:path] = path
44
+ end.execute!
45
+
46
+ json[:documents].map do |document|
47
+ id = document[:documentId] || document[:id]
48
+ file = Storage::File.new(:guid => id, :name => document[:name])
49
+ Document.new(document.merge(:file => file))
50
+ end
51
+
52
+ end
53
+
54
+ #
55
+ # Adds document.
56
+ #
57
+ # @example
58
+ # template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
59
+ # document = GroupDocs::Storage::Folder.list!.last.to_document
60
+ # template.add_document! document
61
+ #
62
+ # @example
63
+ # envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
64
+ # document = GroupDocs::Storage::Folder.list!.last.to_document
65
+ # envelope.add_document! document
66
+ #
67
+ # @param [GroupDocs::Document] document
68
+ # @param [Hash] options
69
+ # @option options [Boolean] :parseFields Try to parse fields in document
70
+ # @option options [Integer] :order Display order of the document
71
+ # @param [Hash] access Access credentials
72
+ # @option access [String] :client_id
73
+ # @option access [String] :private_key
74
+ # @raise [ArgumentError] if document is not GroupDocs::Document
75
+ #
76
+ def add_document!(document, options = {}, access = {})
77
+ document.is_a?(GroupDocs::Document) or raise ArgumentError,
78
+ "Document should be GroupDocs::Document object, received: #{document.inspect}"
79
+
80
+ api = Api::Request.new do |request|
81
+ request[:access] = access
82
+ request[:method] = :POST
83
+ request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/document/#{document.file.guid}"
84
+ end
85
+ api.add_params(options)
86
+ api.execute!
87
+ end
88
+
89
+ #
90
+ # Removes document.
91
+ #
92
+ # @example
93
+ # template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
94
+ # document = template.documents!.first
95
+ # template.remove_document! document
96
+ #
97
+ # @example
98
+ # envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
99
+ # document = envelope.documents!.first
100
+ # envelope.remove_document! document
101
+ #
102
+ # @param [GroupDocs::Document] document
103
+ # @param [Hash] access Access credentials
104
+ # @option access [String] :client_id
105
+ # @option access [String] :private_key
106
+ # @raise [ArgumentError] if document is not GroupDocs::Document
107
+ #
108
+ def remove_document!(document, access = {})
109
+ document.is_a?(GroupDocs::Document) or raise ArgumentError,
110
+ "Document should be GroupDocs::Document object, received: #{document.inspect}"
111
+
112
+ Api::Request.new do |request|
113
+ request[:access] = access
114
+ request[:method] = :DELETE
115
+ request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/documents/#{document.file.guid}"
116
+ end.execute!
117
+ end
118
+
119
+ #
120
+ # Rename signature template document
121
+ #
122
+ # @example Rename document from template
123
+ # template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
124
+ # document = template.documents!.first
125
+ # template.rename_document! (new_name, document)
126
+ #
127
+ # @example Rename document from envelope
128
+ # envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
129
+ # document = envelope.documents!.first
130
+ # envelope.rename_document! (new_name, document)
131
+ #
132
+ # @example Rename document from form
133
+ # form = GroupDocs::Signature::Form.get!("g94h5g84hj9g4gf23i40j")
134
+ # document = envelope.documents!.first
135
+ # form.rename_document! (new_name, document)
136
+ #
137
+ # @param [GroupDocs::Signature::Field] field
138
+ # @param [Hash] access Access credentials
139
+ # @option access [String] :client_id
140
+ # @option access [String] :private_key
141
+ # @raise [ArgumentError] if field is not GroupDocs::Signature::Field
142
+ #
143
+ def rename_document!(new_name, document, access = {})
144
+ document.is_a?(GroupDocs::Document) or raise ArgumentError,
145
+ "Document should be GroupDocs::Document object, received: #{document.inspect}"
146
+
147
+ api = Api::Request.new do |request|
148
+ request[:access] = access
149
+ request[:method] = :PUT
150
+ request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/document/#{document.file.guid}"
151
+ end
152
+ api.add_params(:newName => new_name)
153
+ api.execute!
154
+ end
155
+
156
+ end # DocumentMethods
157
+ end # Signature
158
+ end # GroupDocs
@@ -1,76 +1,76 @@
1
- module GroupDocs
2
- class Signature
3
- #
4
- # Envelope and template entities share the same set of fields.
5
- #
6
- # @see GroupDocs::Signature::Envelope
7
- # @see GroupDocs::Signature::Template
8
- #
9
- module EntityFields
10
-
11
- extend Api::Helpers::Accessor
12
-
13
- # @attr [String] id
14
- attr_accessor :id
15
- # @attr [String] name
16
- attr_accessor :name
17
- # @attr [Integer] ownerId
18
- attr_accessor :ownerId
19
- # @attr [String] ownerGuid
20
- attr_accessor :ownerGuid
21
- # @attr [String] reminderTime
22
- attr_accessor :reminderTime
23
- # @attr [Integer] stepExpireTime
24
- attr_accessor :stepExpireTime
25
- # @attr [Boolean] ownerShouldSign
26
- attr_accessor :ownerShouldSign
27
- # @attr [Boolean] orderedSignature
28
- attr_accessor :orderedSignature
29
- # @attr [String] emailSubject
30
- attr_accessor :emailSubject
31
- # @attr [String] emailBody
32
- attr_accessor :emailBody
33
- # @attr [Integer] documentsCount
34
- attr_accessor :documentsCount
35
- # @attr [Integer] documentsPages
36
- attr_accessor :documentsPages
37
- # @attr [Array<GroupDocs::Signature::Contact>] recipients
38
- attr_accessor :recipients
39
- # @attr [String] waterMarkText
40
- attr_accessor :waterMarkText
41
- # @attr [String] waterMarkImage
42
- attr_accessor :waterMarkImage
43
-
44
- # Human-readable accessors
45
- alias_accessor :owner_id, :ownerId
46
- alias_accessor :owner_guid, :ownerGuid
47
- alias_accessor :reminder_time, :reminderTime
48
- alias_accessor :step_expire_time, :stepExpireTime
49
- alias_accessor :owner_should_sign, :ownerShouldSign
50
- alias_accessor :ordered_signature, :orderedSignature
51
- alias_accessor :email_subject, :emailSubject
52
- alias_accessor :email_body, :emailBody
53
- alias_accessor :documents_count, :documentsCount
54
- alias_accessor :documents_pages, :documentsPages
55
- alias_accessor :water_mark_text, :waterMarkText
56
- alias_accessor :water_mark_image, :waterMarkImage
57
-
58
- #
59
- # Converts each recipient to GroupDocs::Signature::Recipient object.
60
- # @param [Array<GroupDocs::Signature::Recipient, Hash>] recipients
61
- #
62
- def recipients=(recipients)
63
- if recipients
64
- @recipients = recipients.map do |recipient|
65
- if recipient.is_a?(GroupDocs::Signature::Recipient)
66
- recipient
67
- else
68
- Signature::Recipient.new(recipient)
69
- end
70
- end
71
- end
72
- end
73
-
74
- end # EntityFields
75
- end # Signature
76
- end # GroupDocs
1
+ module GroupDocs
2
+ class Signature
3
+ #
4
+ # Envelope and template entities share the same set of fields.
5
+ #
6
+ # @see GroupDocs::Signature::Envelope
7
+ # @see GroupDocs::Signature::Template
8
+ #
9
+ module EntityFields
10
+
11
+ extend Api::Helpers::Accessor
12
+
13
+ # @attr [String] id
14
+ attr_accessor :id
15
+ # @attr [String] name
16
+ attr_accessor :name
17
+ # @attr [Integer] ownerId
18
+ attr_accessor :ownerId
19
+ # @attr [String] ownerGuid
20
+ attr_accessor :ownerGuid
21
+ # @attr [String] reminderTime
22
+ attr_accessor :reminderTime
23
+ # @attr [Integer] stepExpireTime
24
+ attr_accessor :stepExpireTime
25
+ # @attr [Boolean] ownerShouldSign
26
+ attr_accessor :ownerShouldSign
27
+ # @attr [Boolean] orderedSignature
28
+ attr_accessor :orderedSignature
29
+ # @attr [String] emailSubject
30
+ attr_accessor :emailSubject
31
+ # @attr [String] emailBody
32
+ attr_accessor :emailBody
33
+ # @attr [Integer] documentsCount
34
+ attr_accessor :documentsCount
35
+ # @attr [Integer] documentsPages
36
+ attr_accessor :documentsPages
37
+ # @attr [Array<GroupDocs::Signature::Contact>] recipients
38
+ attr_accessor :recipients
39
+ # @attr [String] waterMarkText
40
+ attr_accessor :waterMarkText
41
+ # @attr [String] waterMarkImage
42
+ attr_accessor :waterMarkImage
43
+
44
+ # Human-readable accessors
45
+ alias_accessor :owner_id, :ownerId
46
+ alias_accessor :owner_guid, :ownerGuid
47
+ alias_accessor :reminder_time, :reminderTime
48
+ alias_accessor :step_expire_time, :stepExpireTime
49
+ alias_accessor :owner_should_sign, :ownerShouldSign
50
+ alias_accessor :ordered_signature, :orderedSignature
51
+ alias_accessor :email_subject, :emailSubject
52
+ alias_accessor :email_body, :emailBody
53
+ alias_accessor :documents_count, :documentsCount
54
+ alias_accessor :documents_pages, :documentsPages
55
+ alias_accessor :water_mark_text, :waterMarkText
56
+ alias_accessor :water_mark_image, :waterMarkImage
57
+
58
+ #
59
+ # Converts each recipient to GroupDocs::Signature::Recipient object.
60
+ # @param [Array<GroupDocs::Signature::Recipient, Hash>] recipients
61
+ #
62
+ def recipients=(recipients)
63
+ if recipients
64
+ @recipients = recipients.map do |recipient|
65
+ if recipient.is_a?(GroupDocs::Signature::Recipient)
66
+ recipient
67
+ else
68
+ Signature::Recipient.new(recipient)
69
+ end
70
+ end
71
+ end
72
+ end
73
+
74
+ end # EntityFields
75
+ end # Signature
76
+ end # GroupDocs