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,15 +1,15 @@
1
- module GroupDocs
2
- class Questionnaire::Question::Answer < Api::Entity
3
-
4
- # @attr [String] text
5
- attr_accessor :text
6
- # @attr [String] value
7
- attr_accessor :value
8
-
9
- # added in release 1.5.8
10
- # @attr [Integer] ordinal
11
- attr_accessor :ordinal
12
-
13
-
14
- end # Questionnaire::Question::Answer
15
- end # GroupDocs
1
+ module GroupDocs
2
+ class Questionnaire::Question::Answer < Api::Entity
3
+
4
+ # @attr [String] text
5
+ attr_accessor :text
6
+ # @attr [String] value
7
+ attr_accessor :value
8
+
9
+ # added in release 1.5.8
10
+ # @attr [Integer] ordinal
11
+ attr_accessor :ordinal
12
+
13
+
14
+ end # Questionnaire::Question::Answer
15
+ end # GroupDocs
@@ -1,380 +1,380 @@
1
- module GroupDocs
2
- class Signature < Api::Entity
3
-
4
- require 'groupdocs/signature/shared'
5
- require 'groupdocs/signature/contact'
6
- require 'groupdocs/signature/envelope'
7
- require 'groupdocs/signature/field'
8
- require 'groupdocs/signature/form'
9
- require 'groupdocs/signature/list'
10
- require 'groupdocs/signature/recipient'
11
- require 'groupdocs/signature/role'
12
- require 'groupdocs/signature/template'
13
-
14
- include Api::Helpers::MIME
15
-
16
- #
17
- # Returns a list of all user signatures.
18
- #
19
- # @param [Hash] access Access credentials
20
- # @option access [String] :client_id
21
- # @option access [String] :private_key
22
- # @return [Array<GroupDocs::Signature>]
23
- #
24
- def self.get!(access = {})
25
- json = Api::Request.new do |request|
26
- request[:access] = access
27
- request[:method] = :GET
28
- request[:path] = '/signature/{{client_id}}/signatures'
29
- end.execute!
30
-
31
- json[:signatures].map do |signature|
32
- new(signature)
33
- end
34
- end
35
-
36
-
37
- # Get signature fields.
38
- #
39
- # @param [Hash] access Access credentials
40
- # @option access [String] :client_id
41
- # @option access [String] :private_key
42
- # @return [Array<GroupDocs::Signature>]
43
- #
44
- def self.get_list!( access = {})
45
- json = Api::Request.new do |request|
46
- request[:access] = access
47
- request[:method] = :GET
48
- request[:path] = '/signature/{{client_id}}/fields'
49
- end.execute!
50
-
51
- json[:fields]
52
- end
53
-
54
-
55
-
56
- #
57
- # Changed in release 1.5.8
58
- #
59
- #
60
- # Verify to document
61
- #
62
- # @param [String] path Path to document GUID
63
- # @param [Hash] settings Settings of the signing document
64
- # @param [Hash] access Access credentials
65
- # @option access [String] :client_id
66
- # @option access [String] :private_key
67
- # @return [Array]
68
- #
69
- def self.verify!(filepath, access = {})
70
- Api::Request.new do |request|
71
- request[:access] = access
72
- request[:method] = :POST
73
- request[:path] = "/signature/public/verify"
74
- request[:request_body] = Object::File.new(filepath, 'rb')
75
- end.execute!
76
- end
77
-
78
-
79
-
80
- #
81
- # Changed in release 1.5.8
82
- #
83
- #
84
- # Sign document
85
- #
86
- # @param [String] job Job GUID
87
- # @param [Hash] options
88
- # @option [Boolean] :public
89
- # @param [Hash] access Access credentials
90
- # @option access [String] :client_id
91
- # @option access [String] :private_key
92
- # @return [Array]
93
- #
94
- def self.sign_document_status!(job, options = {}, access = {})
95
-
96
- client_id = !!options[:public] ? 'public' : '{{client_id}}'
97
- json = Api::Request.new do |request|
98
- request[:access] = access
99
- request[:method] = :GET
100
- request[:path] = "/signature/#{client_id}/documents/#{job}/status"
101
- end.execute!
102
-
103
- Storage::File.new(:guid => json[:documents][0][:documentId])
104
- end
105
-
106
-
107
-
108
- #
109
- # This method deleted from GroupDocs API
110
- #
111
- # Returns a list of all signatures for recipient.
112
- #
113
- # @param [GroupDocs::Signature::Recipient] recipient
114
- # @param [Hash] access Access credentials
115
- # @option access [String] :client_id
116
- # @option access [String] :private_key
117
- # @return [Array<GroupDocs::Signature>]
118
- #
119
- def self.get_for_recipient!(recipient, access = {})
120
- recipient.is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
121
- "Recipient should be GroupDocs::Signature::Recipient object, received: #{recipient.inspect}"
122
-
123
- api = Api::Request.new do |request|
124
- request[:access] = access
125
- request[:method] = :GET
126
- request[:path] = '/signature/public/signatures'
127
- end
128
- api.add_params(:recipientId => recipient.id)
129
- json = api.execute!
130
-
131
- json[:signatures].map do |signature|
132
- new(signature)
133
- end
134
- end
135
-
136
-
137
- # @attr [String] id
138
- attr_accessor :id
139
- # @attr [String] userGuid
140
- attr_accessor :userGuid
141
- # @attr [String] recipientId
142
- attr_accessor :recipientId
143
- # @attr [String] name
144
- attr_accessor :name
145
- # @attr [String] companyName
146
- attr_accessor :companyName
147
- # @attr [String] position
148
- attr_accessor :position
149
- # @attr [String] firstName
150
- attr_accessor :firstName
151
- # @attr [String] lastName
152
- attr_accessor :lastName
153
- # @attr [String] fullName
154
- attr_accessor :fullName
155
- # @attr [String] textInitials
156
- attr_accessor :textInitials
157
- # @attr [String] signatureImageFileId
158
- attr_accessor :signatureImageFileId
159
- # @attr [String] initialsImageFileId
160
- attr_accessor :initialsImageFileId
161
- # @attr [String] signatureImageUrl
162
- attr_accessor :signatureImageUrl
163
- # @attr [String] initialsImageUrl
164
- attr_accessor :initialsImageUrl
165
- # @attr [String] signatureData
166
- attr_accessor :signatureData
167
- # @attr [String] initialsData
168
- attr_accessor :initialsData
169
- # @attr [String] createdTimeStamp
170
- attr_accessor :createdTimeStamp
171
- # @attr [String] image_path
172
- attr_accessor :image_path
173
- # @attr [String] email
174
- attr_accessor :email
175
-
176
- # Human-readable accessors
177
- alias_accessor :user_guid, :userGuid
178
- alias_accessor :recipient_id, :recipientId
179
- alias_accessor :company_name, :companyName
180
- alias_accessor :first_name, :firstName
181
- alias_accessor :last_name, :lastName
182
- alias_accessor :full_name, :fullName
183
- alias_accessor :text_initials, :textInitials
184
- alias_accessor :signature_image_file_id, :signatureImageFileId
185
- alias_accessor :initials_image_file_id, :initialsImageFileId
186
- alias_accessor :signature_image_url, :signatureImageUrl
187
- alias_accessor :initials_image_url, :initialsImageUrl
188
- alias_accessor :signature_data, :signatureData
189
- alias_accessor :initials_data, :initialsData
190
- alias_accessor :created_time_stamp, :createdTimeStamp
191
-
192
-
193
- #
194
- # Creates signature.
195
- #
196
- # @example
197
- # signature = GroupDocs::Signature.new
198
- # signature.first_name = 'John'
199
- # signature.last_name = 'Smith'
200
- # signature.create! "John Smith's Signature"
201
- #
202
- # @param [String] title Signature title
203
- # @param [Hash] access Access credentials
204
- # @option access [String] :client_id
205
- # @option access [String] :private_key
206
- #
207
- def create!(title, access = {})
208
- api = Api::Request.new do |request|
209
- request[:access] = access
210
- request[:method] = :POST
211
- request[:path] = '/signature/{{client_id}}/signature'
212
- request[:request_body] = to_hash
213
- end
214
- api.add_params(:name => title)
215
- json = api.execute!
216
-
217
- self.id = json[:signature][:id]
218
- end
219
-
220
-
221
- #
222
- # This method deleted from GroupDocs API
223
- #
224
- # Creates signature for recipient.
225
- #
226
- # @param [GroupDocs::Signature::Recipient] recipient
227
- # @param [String] title Signature title
228
- # @param [Hash] access Access credentials
229
- # @option access [String] :client_id
230
- # @option access [String] :private_key
231
- #
232
- def create_for_recipient!(recipient, title, access = {})
233
- recipient.is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
234
- "Recipient should be GroupDocs::Signature::Recipient object, received: #{recipient.inspect}"
235
-
236
- api = Api::Request.new do |request|
237
- request[:access] = access
238
- request[:method] = :POST
239
- request[:path] = '/signature/public/signature'
240
- request[:request_body] = to_hash
241
- end
242
- api.add_params(:name => title, :recipientId => recipient.id)
243
- json = api.execute!
244
-
245
- self.id = json[:signature][:id]
246
- end
247
-
248
-
249
- #
250
- # Deletes signature.
251
- #
252
- # @param [Hash] access Access credentials
253
- # @option access [String] :client_id
254
- # @option access [String] :private_key
255
- #
256
- def delete!(access = {})
257
- Api::Request.new do |request|
258
- request[:access] = access
259
- request[:method] = :DELETE
260
- request[:path] = "/signature/{{client_id}}/signatures/#{id}"
261
- end.execute!
262
- end
263
-
264
-
265
- #
266
- # This method deleted from GroupDocs API
267
- #
268
- # Returns signature data.
269
- #
270
- # @param [Hash] access Access credentials
271
- # @option access [String] :client_id
272
- # @option access [String] :private_key
273
- #
274
- def signature_data!(access = {})
275
- self.signature_data = Api::Request.new do |request|
276
- request[:access] = access
277
- request[:method] = :GET
278
- request[:path] = "/signature/public/signatures/signature/#{id}/signatureData"
279
- end.execute!
280
- end
281
-
282
-
283
-
284
- #
285
- # This method deleted from GroupDocs API
286
- #
287
- # Returns initials data.
288
- #
289
- # @param [Hash] access Access credentials
290
- # @option access [String] :client_id
291
- # @option access [String] :private_key
292
- #
293
- def initials_data!(access = {})
294
- self.initials_data = Api::Request.new do |request|
295
- request[:access] = access
296
- request[:method] = :GET
297
- request[:path] = "/signature/public/signatures/signature/#{id}/initialsData"
298
- end.execute!
299
- end
300
-
301
- # added in release 1.6.0
302
- TEMPLATE_TYPES = {
303
- :EnvelopeSentOwnerTemplate => 1,
304
- :EnvelopeSentOtherTemplate => 2,
305
- :EnvelopeCompletedTemplate => 3,
306
- :EnvelopeSignedTemplate => 4,
307
- :EnvelopeCancelledTemplate => 5,
308
- :EnvelopeDeclinedTemplate => 6,
309
- :EnvelopeFailedTemplate => 7,
310
- :EnvelopeExpiredTemplate => 8,
311
- :EnvelopeStepExpiredTemplate => 9,
312
- :EnvelopeRecipientReminderTemplate => 10,
313
- :FormSignedTemplate => 11
314
- }
315
-
316
-
317
- #
318
- # Added in release 1.6.0
319
- #
320
- #
321
- # Get default email template.
322
- #
323
- # @param [String] path Path to save new file
324
- # @param [String] name Name new file (file extension should be html)
325
- # @param [Int] template_type Template type
326
- # @param [Hash] access Access credentials
327
- # @option access [String] :client_id
328
- # @option access [String] :private_key
329
- # @return [Array]
330
- #
331
- def self.public_get_default_email_template!(path, name, template_type, access = {})
332
- response = Api::Request.new do |request|
333
- request[:access] = access
334
- request[:method] = :DOWNLOAD
335
- request[:path] = "/signature/public/email-template/#{template_type}/default"
336
- end.execute!
337
-
338
-
339
- filepath = "#{path}/#{name}."
340
-
341
- Object::File.open(filepath, 'wb') do |file|
342
- file.write(response)
343
- end
344
-
345
- filepath
346
- end
347
-
348
- #
349
- # Added in release 1.6.0
350
- #
351
- #
352
- # Get user email template.
353
- #
354
- # @param [String] path Path to save new file
355
- # @param [String] name Name new file (file extension should be html)
356
- # @param [Int] template_type Template type
357
- # @param [Hash] access Access credentials
358
- # @option access [String] :client_id
359
- # @option access [String] :private_key
360
- # @return [Array]
361
- #
362
- def self.get_email_template!(path, name, template_type, access = {})
363
- response = Api::Request.new do |request|
364
- request[:access] = access
365
- request[:method] = :DOWNLOAD
366
- request[:path] = "/signature/email-template/#{template_type}"
367
- end.execute!
368
-
369
-
370
- filepath = "#{path}/#{name}."
371
-
372
- Object::File.open(filepath, 'wb') do |file|
373
- file.write(response)
374
- end
375
-
376
- filepath
377
- end
378
-
379
- end # Signature
380
- end # GroupDocs
1
+ module GroupDocs
2
+ class Signature < Api::Entity
3
+
4
+ require 'groupdocs/signature/shared'
5
+ require 'groupdocs/signature/contact'
6
+ require 'groupdocs/signature/envelope'
7
+ require 'groupdocs/signature/field'
8
+ require 'groupdocs/signature/form'
9
+ require 'groupdocs/signature/list'
10
+ require 'groupdocs/signature/recipient'
11
+ require 'groupdocs/signature/role'
12
+ require 'groupdocs/signature/template'
13
+
14
+ include Api::Helpers::MIME
15
+
16
+ #
17
+ # Returns a list of all user signatures.
18
+ #
19
+ # @param [Hash] access Access credentials
20
+ # @option access [String] :client_id
21
+ # @option access [String] :private_key
22
+ # @return [Array<GroupDocs::Signature>]
23
+ #
24
+ def self.get!(access = {})
25
+ json = Api::Request.new do |request|
26
+ request[:access] = access
27
+ request[:method] = :GET
28
+ request[:path] = '/signature/{{client_id}}/signatures'
29
+ end.execute!
30
+
31
+ json[:signatures].map do |signature|
32
+ new(signature)
33
+ end
34
+ end
35
+
36
+
37
+ # Get signature fields.
38
+ #
39
+ # @param [Hash] access Access credentials
40
+ # @option access [String] :client_id
41
+ # @option access [String] :private_key
42
+ # @return [Array<GroupDocs::Signature>]
43
+ #
44
+ def self.get_list!( access = {})
45
+ json = Api::Request.new do |request|
46
+ request[:access] = access
47
+ request[:method] = :GET
48
+ request[:path] = '/signature/{{client_id}}/fields'
49
+ end.execute!
50
+
51
+ json[:fields]
52
+ end
53
+
54
+
55
+
56
+ #
57
+ # Changed in release 1.5.8
58
+ #
59
+ #
60
+ # Verify to document
61
+ #
62
+ # @param [String] path Path to document GUID
63
+ # @param [Hash] settings Settings of the signing document
64
+ # @param [Hash] access Access credentials
65
+ # @option access [String] :client_id
66
+ # @option access [String] :private_key
67
+ # @return [Array]
68
+ #
69
+ def self.verify!(filepath, access = {})
70
+ Api::Request.new do |request|
71
+ request[:access] = access
72
+ request[:method] = :POST
73
+ request[:path] = "/signature/public/verify"
74
+ request[:request_body] = Object::File.new(filepath, 'rb')
75
+ end.execute!
76
+ end
77
+
78
+
79
+
80
+ #
81
+ # Changed in release 1.5.8
82
+ #
83
+ #
84
+ # Sign document
85
+ #
86
+ # @param [String] job Job GUID
87
+ # @param [Hash] options
88
+ # @option [Boolean] :public
89
+ # @param [Hash] access Access credentials
90
+ # @option access [String] :client_id
91
+ # @option access [String] :private_key
92
+ # @return [Array]
93
+ #
94
+ def self.sign_document_status!(job, options = {}, access = {})
95
+
96
+ client_id = !!options[:public] ? 'public' : '{{client_id}}'
97
+ json = Api::Request.new do |request|
98
+ request[:access] = access
99
+ request[:method] = :GET
100
+ request[:path] = "/signature/#{client_id}/documents/#{job}/status"
101
+ end.execute!
102
+
103
+ Storage::File.new(:guid => json[:documents][0][:documentId])
104
+ end
105
+
106
+
107
+
108
+ #
109
+ # This method deleted from GroupDocs API
110
+ #
111
+ # Returns a list of all signatures for recipient.
112
+ #
113
+ # @param [GroupDocs::Signature::Recipient] recipient
114
+ # @param [Hash] access Access credentials
115
+ # @option access [String] :client_id
116
+ # @option access [String] :private_key
117
+ # @return [Array<GroupDocs::Signature>]
118
+ #
119
+ def self.get_for_recipient!(recipient, access = {})
120
+ recipient.is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
121
+ "Recipient should be GroupDocs::Signature::Recipient object, received: #{recipient.inspect}"
122
+
123
+ api = Api::Request.new do |request|
124
+ request[:access] = access
125
+ request[:method] = :GET
126
+ request[:path] = '/signature/public/signatures'
127
+ end
128
+ api.add_params(:recipientId => recipient.id)
129
+ json = api.execute!
130
+
131
+ json[:signatures].map do |signature|
132
+ new(signature)
133
+ end
134
+ end
135
+
136
+
137
+ # @attr [String] id
138
+ attr_accessor :id
139
+ # @attr [String] userGuid
140
+ attr_accessor :userGuid
141
+ # @attr [String] recipientId
142
+ attr_accessor :recipientId
143
+ # @attr [String] name
144
+ attr_accessor :name
145
+ # @attr [String] companyName
146
+ attr_accessor :companyName
147
+ # @attr [String] position
148
+ attr_accessor :position
149
+ # @attr [String] firstName
150
+ attr_accessor :firstName
151
+ # @attr [String] lastName
152
+ attr_accessor :lastName
153
+ # @attr [String] fullName
154
+ attr_accessor :fullName
155
+ # @attr [String] textInitials
156
+ attr_accessor :textInitials
157
+ # @attr [String] signatureImageFileId
158
+ attr_accessor :signatureImageFileId
159
+ # @attr [String] initialsImageFileId
160
+ attr_accessor :initialsImageFileId
161
+ # @attr [String] signatureImageUrl
162
+ attr_accessor :signatureImageUrl
163
+ # @attr [String] initialsImageUrl
164
+ attr_accessor :initialsImageUrl
165
+ # @attr [String] signatureData
166
+ attr_accessor :signatureData
167
+ # @attr [String] initialsData
168
+ attr_accessor :initialsData
169
+ # @attr [String] createdTimeStamp
170
+ attr_accessor :createdTimeStamp
171
+ # @attr [String] image_path
172
+ attr_accessor :image_path
173
+ # @attr [String] email
174
+ attr_accessor :email
175
+
176
+ # Human-readable accessors
177
+ alias_accessor :user_guid, :userGuid
178
+ alias_accessor :recipient_id, :recipientId
179
+ alias_accessor :company_name, :companyName
180
+ alias_accessor :first_name, :firstName
181
+ alias_accessor :last_name, :lastName
182
+ alias_accessor :full_name, :fullName
183
+ alias_accessor :text_initials, :textInitials
184
+ alias_accessor :signature_image_file_id, :signatureImageFileId
185
+ alias_accessor :initials_image_file_id, :initialsImageFileId
186
+ alias_accessor :signature_image_url, :signatureImageUrl
187
+ alias_accessor :initials_image_url, :initialsImageUrl
188
+ alias_accessor :signature_data, :signatureData
189
+ alias_accessor :initials_data, :initialsData
190
+ alias_accessor :created_time_stamp, :createdTimeStamp
191
+
192
+
193
+ #
194
+ # Creates signature.
195
+ #
196
+ # @example
197
+ # signature = GroupDocs::Signature.new
198
+ # signature.first_name = 'John'
199
+ # signature.last_name = 'Smith'
200
+ # signature.create! "John Smith's Signature"
201
+ #
202
+ # @param [String] title Signature title
203
+ # @param [Hash] access Access credentials
204
+ # @option access [String] :client_id
205
+ # @option access [String] :private_key
206
+ #
207
+ def create!(title, access = {})
208
+ api = Api::Request.new do |request|
209
+ request[:access] = access
210
+ request[:method] = :POST
211
+ request[:path] = '/signature/{{client_id}}/signature'
212
+ request[:request_body] = to_hash
213
+ end
214
+ api.add_params(:name => title)
215
+ json = api.execute!
216
+
217
+ self.id = json[:signature][:id]
218
+ end
219
+
220
+
221
+ #
222
+ # This method deleted from GroupDocs API
223
+ #
224
+ # Creates signature for recipient.
225
+ #
226
+ # @param [GroupDocs::Signature::Recipient] recipient
227
+ # @param [String] title Signature title
228
+ # @param [Hash] access Access credentials
229
+ # @option access [String] :client_id
230
+ # @option access [String] :private_key
231
+ #
232
+ def create_for_recipient!(recipient, title, access = {})
233
+ recipient.is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
234
+ "Recipient should be GroupDocs::Signature::Recipient object, received: #{recipient.inspect}"
235
+
236
+ api = Api::Request.new do |request|
237
+ request[:access] = access
238
+ request[:method] = :POST
239
+ request[:path] = '/signature/public/signature'
240
+ request[:request_body] = to_hash
241
+ end
242
+ api.add_params(:name => title, :recipientId => recipient.id)
243
+ json = api.execute!
244
+
245
+ self.id = json[:signature][:id]
246
+ end
247
+
248
+
249
+ #
250
+ # Deletes signature.
251
+ #
252
+ # @param [Hash] access Access credentials
253
+ # @option access [String] :client_id
254
+ # @option access [String] :private_key
255
+ #
256
+ def delete!(access = {})
257
+ Api::Request.new do |request|
258
+ request[:access] = access
259
+ request[:method] = :DELETE
260
+ request[:path] = "/signature/{{client_id}}/signatures/#{id}"
261
+ end.execute!
262
+ end
263
+
264
+
265
+ #
266
+ # This method deleted from GroupDocs API
267
+ #
268
+ # Returns signature data.
269
+ #
270
+ # @param [Hash] access Access credentials
271
+ # @option access [String] :client_id
272
+ # @option access [String] :private_key
273
+ #
274
+ def signature_data!(access = {})
275
+ self.signature_data = Api::Request.new do |request|
276
+ request[:access] = access
277
+ request[:method] = :GET
278
+ request[:path] = "/signature/public/signatures/signature/#{id}/signatureData"
279
+ end.execute!
280
+ end
281
+
282
+
283
+
284
+ #
285
+ # This method deleted from GroupDocs API
286
+ #
287
+ # Returns initials data.
288
+ #
289
+ # @param [Hash] access Access credentials
290
+ # @option access [String] :client_id
291
+ # @option access [String] :private_key
292
+ #
293
+ def initials_data!(access = {})
294
+ self.initials_data = Api::Request.new do |request|
295
+ request[:access] = access
296
+ request[:method] = :GET
297
+ request[:path] = "/signature/public/signatures/signature/#{id}/initialsData"
298
+ end.execute!
299
+ end
300
+
301
+ # added in release 1.6.0
302
+ TEMPLATE_TYPES = {
303
+ :EnvelopeSentOwnerTemplate => 1,
304
+ :EnvelopeSentOtherTemplate => 2,
305
+ :EnvelopeCompletedTemplate => 3,
306
+ :EnvelopeSignedTemplate => 4,
307
+ :EnvelopeCancelledTemplate => 5,
308
+ :EnvelopeDeclinedTemplate => 6,
309
+ :EnvelopeFailedTemplate => 7,
310
+ :EnvelopeExpiredTemplate => 8,
311
+ :EnvelopeStepExpiredTemplate => 9,
312
+ :EnvelopeRecipientReminderTemplate => 10,
313
+ :FormSignedTemplate => 11
314
+ }
315
+
316
+
317
+ #
318
+ # Added in release 1.6.0
319
+ #
320
+ #
321
+ # Get default email template.
322
+ #
323
+ # @param [String] path Path to save new file
324
+ # @param [String] name Name new file (file extension should be html)
325
+ # @param [Int] template_type Template type
326
+ # @param [Hash] access Access credentials
327
+ # @option access [String] :client_id
328
+ # @option access [String] :private_key
329
+ # @return [Array]
330
+ #
331
+ def self.public_get_default_email_template!(path, name, template_type, access = {})
332
+ response = Api::Request.new do |request|
333
+ request[:access] = access
334
+ request[:method] = :DOWNLOAD
335
+ request[:path] = "/signature/public/email-template/#{template_type}/default"
336
+ end.execute!
337
+
338
+
339
+ filepath = "#{path}/#{name}."
340
+
341
+ Object::File.open(filepath, 'wb') do |file|
342
+ file.write(response)
343
+ end
344
+
345
+ filepath
346
+ end
347
+
348
+ #
349
+ # Added in release 1.6.0
350
+ #
351
+ #
352
+ # Get user email template.
353
+ #
354
+ # @param [String] path Path to save new file
355
+ # @param [String] name Name new file (file extension should be html)
356
+ # @param [Int] template_type Template type
357
+ # @param [Hash] access Access credentials
358
+ # @option access [String] :client_id
359
+ # @option access [String] :private_key
360
+ # @return [Array]
361
+ #
362
+ def self.get_email_template!(path, name, template_type, access = {})
363
+ response = Api::Request.new do |request|
364
+ request[:access] = access
365
+ request[:method] = :DOWNLOAD
366
+ request[:path] = "/signature/email-template/#{template_type}"
367
+ end.execute!
368
+
369
+
370
+ filepath = "#{path}/#{name}."
371
+
372
+ Object::File.open(filepath, 'wb') do |file|
373
+ file.write(response)
374
+ end
375
+
376
+ filepath
377
+ end
378
+
379
+ end # Signature
380
+ end # GroupDocs