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,109 +1,109 @@
1
- #GET request
2
- get '/sample-22-how-to-create-or-update-user-and-add-him-to-collaborators' do
3
- haml :sample22
4
- end
5
-
6
- #POST request
7
- post '/sample-22-how-to-create-or-update-user-and-add-him-to-collaborators' do
8
- #Set variables
9
- set :client_id, params[:clientId]
10
- set :private_key, params[:privateKey]
11
- set :fileId, params[:fileId]
12
- set :email, params[:email]
13
- set :first_name, params[:firstName]
14
- set :last_name, params[:lastName]
15
- set :base_path, params[:basePath]
16
- set :url, params[:url]
17
- set :source, params[:source]
18
-
19
-
20
- begin
21
-
22
- #Check required variables
23
- raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty? or settings.email.empty? or settings.first_name.empty? or settings.last_name.empty?
24
-
25
- #Prepare base path
26
- if settings.base_path.empty?
27
- base_path = 'https://api.groupdocs.com'
28
- elsif settings.base_path.match('/v2.0')
29
- base_path = settings.base_path.split('/v2.0')[0]
30
- else
31
- base_path = settings.base_path
32
- end
33
-
34
- #Configure your access to API server
35
- GroupDocs.configure do |groupdocs|
36
- groupdocs.client_id = settings.client_id
37
- groupdocs.private_key = settings.private_key
38
- #Optionally specify API server and version
39
- groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
40
- end
41
- file = nil
42
-
43
- #Get document by file GUID
44
- case settings.source
45
- when 'guid'
46
- #Create instance of File
47
- file = GroupDocs::Storage::File.new({:guid => settings.fileId})
48
- when 'local'
49
- filepath = "#{Dir.tmpdir}/#{params[:file][:filename]}"
50
- #Open file
51
- File.open(filepath, 'wb') { |f| f.write(params[:file][:tempfile].read) }
52
- #Make a request to API using client_id and private_key
53
- file = GroupDocs::Storage::File.upload!(filepath, {})
54
- when 'url'
55
- #Upload file from defined url
56
- file = GroupDocs::Storage::File.upload_web!(settings.url)
57
- else
58
- raise 'Wrong GUID source.'
59
- end
60
-
61
-
62
- file = file.to_document
63
- #Create new user
64
- user = GroupDocs::User.new
65
-
66
- user.primary_email = settings.email
67
- user.nickname = settings.email
68
- user.first_name = settings.first_name
69
- user.last_name = settings.last_name
70
-
71
- user.roles = [{:id => '3', :name => 'User'}]
72
- #Update account
73
- new_user = GroupDocs::User.update_account!(user)
74
-
75
-
76
-
77
- #Set new collaboration
78
- file.set_collaborators!([settings.email], 2)
79
-
80
- #Get all collaborations
81
- collaborations = file.collaborators!()
82
-
83
- #Set document reviewers
84
- file.set_reviewers!(collaborations)
85
-
86
- #Prepare to sign url
87
- iframe = "/document-annotation2/embed/#{file.file.guid}?uid = #{new_user.guid}&download=true"
88
- # Construct result string
89
- url = GroupDocs::Api::Request.new(:path => iframe).prepare_and_sign_url
90
- #Generate iframe URL
91
- case base_path
92
- when 'https://stage-api-groupdocs.dynabic.com'
93
- iframe = "https://stage-api-groupdocs.dynabic.com#{url}"
94
- when 'https://dev-api-groupdocs.dynabic.com'
95
- iframe = "https://dev-apps.groupdocs.com#{url}"
96
- else
97
- iframe = "https://apps.groupdocs.com#{url}"
98
- end
99
-
100
- #Make iframe
101
- iframe = "<iframe id='downloadframe' src='#{iframe}' width='800' height='1000'></iframe>"
102
-
103
- rescue Exception => e
104
- err = e.message
105
- end
106
-
107
- #Set variables for template
108
- haml :sample22, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :fileId => settings.fileId, :email => settings.email, :firstName => settings.first_name, :lastName => settings.last_name, :iframe => iframe, :err => err}
109
- end
1
+ #GET request
2
+ get '/sample-22-how-to-create-or-update-user-and-add-him-to-collaborators' do
3
+ haml :sample22
4
+ end
5
+
6
+ #POST request
7
+ post '/sample-22-how-to-create-or-update-user-and-add-him-to-collaborators' do
8
+ #Set variables
9
+ set :client_id, params[:clientId]
10
+ set :private_key, params[:privateKey]
11
+ set :fileId, params[:fileId]
12
+ set :email, params[:email]
13
+ set :first_name, params[:firstName]
14
+ set :last_name, params[:lastName]
15
+ set :base_path, params[:basePath]
16
+ set :url, params[:url]
17
+ set :source, params[:source]
18
+
19
+
20
+ begin
21
+
22
+ #Check required variables
23
+ raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty? or settings.email.empty? or settings.first_name.empty? or settings.last_name.empty?
24
+
25
+ #Prepare base path
26
+ if settings.base_path.empty?
27
+ base_path = 'https://api.groupdocs.com'
28
+ elsif settings.base_path.match('/v2.0')
29
+ base_path = settings.base_path.split('/v2.0')[0]
30
+ else
31
+ base_path = settings.base_path
32
+ end
33
+
34
+ #Configure your access to API server
35
+ GroupDocs.configure do |groupdocs|
36
+ groupdocs.client_id = settings.client_id
37
+ groupdocs.private_key = settings.private_key
38
+ #Optionally specify API server and version
39
+ groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
40
+ end
41
+ file = nil
42
+
43
+ #Get document by file GUID
44
+ case settings.source
45
+ when 'guid'
46
+ #Create instance of File
47
+ file = GroupDocs::Storage::File.new({:guid => settings.fileId})
48
+ when 'local'
49
+ filepath = "#{Dir.tmpdir}/#{params[:file][:filename]}"
50
+ #Open file
51
+ File.open(filepath, 'wb') { |f| f.write(params[:file][:tempfile].read) }
52
+ #Make a request to API using client_id and private_key
53
+ file = GroupDocs::Storage::File.upload!(filepath, {})
54
+ when 'url'
55
+ #Upload file from defined url
56
+ file = GroupDocs::Storage::File.upload_web!(settings.url)
57
+ else
58
+ raise 'Wrong GUID source.'
59
+ end
60
+
61
+
62
+ file = file.to_document
63
+ #Create new user
64
+ user = GroupDocs::User.new
65
+
66
+ user.primary_email = settings.email
67
+ user.nickname = settings.email
68
+ user.first_name = settings.first_name
69
+ user.last_name = settings.last_name
70
+
71
+ user.roles = [{:id => '3', :name => 'User'}]
72
+ #Update account
73
+ new_user = GroupDocs::User.update_account!(user)
74
+
75
+
76
+
77
+ #Set new collaboration
78
+ file.set_collaborators!([settings.email], 2)
79
+
80
+ #Get all collaborations
81
+ collaborations = file.collaborators!()
82
+
83
+ #Set document reviewers
84
+ file.set_reviewers!(collaborations)
85
+
86
+ #Prepare to sign url
87
+ iframe = "/document-annotation2/embed/#{file.file.guid}?uid = #{new_user.guid}&download=true"
88
+ # Construct result string
89
+ url = GroupDocs::Api::Request.new(:path => iframe).prepare_and_sign_url
90
+ #Generate iframe URL
91
+ case base_path
92
+ when 'https://stage-api-groupdocs.dynabic.com'
93
+ iframe = "https://stage-api-groupdocs.dynabic.com#{url}"
94
+ when 'https://dev-api-groupdocs.dynabic.com'
95
+ iframe = "https://dev-apps.groupdocs.com#{url}"
96
+ else
97
+ iframe = "https://apps.groupdocs.com#{url}"
98
+ end
99
+
100
+ #Make iframe
101
+ iframe = "<iframe id='downloadframe' src='#{iframe}' width='800' height='1000'></iframe>"
102
+
103
+ rescue Exception => e
104
+ err = e.message
105
+ end
106
+
107
+ #Set variables for template
108
+ haml :sample22, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :fileId => settings.fileId, :email => settings.email, :firstName => settings.first_name, :lastName => settings.last_name, :iframe => iframe, :err => err}
109
+ end
@@ -1,128 +1,128 @@
1
- #GET request
2
- get '/sample-25-how-to-merge-assemble-and-convert-document' do
3
- haml :sample25
4
- end
5
-
6
- #POST request
7
- post '/sample-25-how-to-merge-assemble-and-convert-document' do
8
- #Set variables
9
- set :client_id, params[:clientId]
10
- set :private_key, params[:privateKey]
11
- set :source, params[:source]
12
- set :file_id, params[:fileId]
13
- set :url, params[:url]
14
- set :base_path, params[:basePath]
15
-
16
- #Set download path
17
- downloads_path = "#{File.dirname(__FILE__)}/../public/downloads"
18
-
19
- #Remove all files from download directory or create folder if it not there
20
- if File.directory?(downloads_path)
21
- Dir.foreach(downloads_path) { |f| fn = File.join(downloads_path, f); File.delete(fn) if f != '.' && f != '..' }
22
- else
23
- Dir::mkdir(downloads_path)
24
- end
25
-
26
- begin
27
- #Check required variables
28
- raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty?
29
-
30
- #Prepare base path
31
- if settings.base_path.empty?
32
- base_path = 'https://api.groupdocs.com'
33
- elsif settings.base_path.match('/v2.0')
34
- base_path = settings.base_path.split('/v2.0')[0]
35
- else
36
- base_path = settings.base_path
37
- end
38
-
39
- #Configure your access to API server
40
- GroupDocs.configure do |groupdocs|
41
- groupdocs.client_id = settings.client_id
42
- groupdocs.private_key = settings.private_key
43
- #Optionally specify API server and version
44
- groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
45
- end
46
-
47
- #Get document by file GUID
48
- case settings.source
49
- when 'guid'
50
- #Create instance of File
51
- file = GroupDocs::Storage::File.new({:guid => settings.file_id})
52
- when 'local'
53
- #Construct path
54
- file_path = "#{Dir.tmpdir}/#{params[:file][:filename]}"
55
- #Open file
56
- File.open(file_path, 'wb') { |f| f.write(params[:file][:tempfile].read) }
57
- #Make a request to API using client_id and private_key
58
- file = GroupDocs::Storage::File.upload!(file_path, {})
59
- when 'url'
60
- #Upload file from defined url
61
- file = GroupDocs::Storage::File.upload_web!(settings.url)
62
- else
63
- raise 'Wrong GUID source.'
64
- end
65
-
66
- #Raise exception if something went wrong
67
- raise 'No such file' unless file.is_a?(GroupDocs::Storage::File)
68
-
69
- #Make GroupDocs::Storage::Document instance
70
- document = file.to_document
71
-
72
- #Create datasource with fields
73
- datasource = GroupDocs::DataSource.new
74
-
75
- #Get arry of document's fields
76
- fields = document.fields!()
77
-
78
- #Create Field instance and fill the fields
79
- datasource.fields = fields.map { |field| GroupDocs::DataSource::Field.new(name: field.name, type: :text, values: %w(value1 value2)) }
80
-
81
- #Adds datasource.
82
- datasource.add!()
83
-
84
-
85
- #Creates new job to merge datasource into document.
86
- job = document.datasource!(datasource, {:new_type => 'pdf'})
87
- sleep 10 # wait for merge and convert
88
-
89
- #Returns an hash of input and output documents associated to job.
90
- document = job.documents!()
91
-
92
- #Download file
93
- document[:inputs][0].outputs[0].download!("#{File.dirname(__FILE__)}/../public/downloads")
94
-
95
- #Set converted document GUID
96
- guid = document[:inputs][0].outputs[0].guid
97
- #Set converted document Name
98
- file_name = document[:inputs][0].outputs[0].name
99
-
100
- #Prepare to sign url
101
- iframe = "/document-viewer/embed/#{guid}"
102
- # Construct result string
103
- url = GroupDocs::Api::Request.new(:path => iframe).prepare_and_sign_url
104
- #Generate iframe URL
105
- case base_path
106
- when 'https://stage-api-groupdocs.dynabic.com'
107
- iframe = "https://stage-api-groupdocs.dynabic.com#{url}"
108
- when 'https://dev-api-groupdocs.dynabic.com'
109
- iframe = "https://dev-apps.groupdocs.com#{url}"
110
- else
111
- iframe = "https://apps.groupdocs.com#{url}"
112
- end
113
-
114
- #Set iframe with document GUID or raise an error
115
- if guid
116
- #Make iframe
117
- iframe = "<iframe id='downloadframe' src='#{iframe}' width='800' height='1000'></iframe>"
118
- else
119
- raise 'File was not converted'
120
- end
121
-
122
- rescue Exception => e
123
- err = e.message
124
- end
125
-
126
- #Set variables for template
127
- haml :sample25, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :iframe => iframe, :fileName => file_name, :err => err}
1
+ #GET request
2
+ get '/sample-25-how-to-merge-assemble-and-convert-document' do
3
+ haml :sample25
4
+ end
5
+
6
+ #POST request
7
+ post '/sample-25-how-to-merge-assemble-and-convert-document' do
8
+ #Set variables
9
+ set :client_id, params[:clientId]
10
+ set :private_key, params[:privateKey]
11
+ set :source, params[:source]
12
+ set :file_id, params[:fileId]
13
+ set :url, params[:url]
14
+ set :base_path, params[:basePath]
15
+
16
+ #Set download path
17
+ downloads_path = "#{File.dirname(__FILE__)}/../public/downloads"
18
+
19
+ #Remove all files from download directory or create folder if it not there
20
+ if File.directory?(downloads_path)
21
+ Dir.foreach(downloads_path) { |f| fn = File.join(downloads_path, f); File.delete(fn) if f != '.' && f != '..' }
22
+ else
23
+ Dir::mkdir(downloads_path)
24
+ end
25
+
26
+ begin
27
+ #Check required variables
28
+ raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty?
29
+
30
+ #Prepare base path
31
+ if settings.base_path.empty?
32
+ base_path = 'https://api.groupdocs.com'
33
+ elsif settings.base_path.match('/v2.0')
34
+ base_path = settings.base_path.split('/v2.0')[0]
35
+ else
36
+ base_path = settings.base_path
37
+ end
38
+
39
+ #Configure your access to API server
40
+ GroupDocs.configure do |groupdocs|
41
+ groupdocs.client_id = settings.client_id
42
+ groupdocs.private_key = settings.private_key
43
+ #Optionally specify API server and version
44
+ groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
45
+ end
46
+
47
+ #Get document by file GUID
48
+ case settings.source
49
+ when 'guid'
50
+ #Create instance of File
51
+ file = GroupDocs::Storage::File.new({:guid => settings.file_id})
52
+ when 'local'
53
+ #Construct path
54
+ file_path = "#{Dir.tmpdir}/#{params[:file][:filename]}"
55
+ #Open file
56
+ File.open(file_path, 'wb') { |f| f.write(params[:file][:tempfile].read) }
57
+ #Make a request to API using client_id and private_key
58
+ file = GroupDocs::Storage::File.upload!(file_path, {})
59
+ when 'url'
60
+ #Upload file from defined url
61
+ file = GroupDocs::Storage::File.upload_web!(settings.url)
62
+ else
63
+ raise 'Wrong GUID source.'
64
+ end
65
+
66
+ #Raise exception if something went wrong
67
+ raise 'No such file' unless file.is_a?(GroupDocs::Storage::File)
68
+
69
+ #Make GroupDocs::Storage::Document instance
70
+ document = file.to_document
71
+
72
+ #Create datasource with fields
73
+ datasource = GroupDocs::DataSource.new
74
+
75
+ #Get arry of document's fields
76
+ fields = document.fields!()
77
+
78
+ #Create Field instance and fill the fields
79
+ datasource.fields = fields.map { |field| GroupDocs::DataSource::Field.new(name: field.name, type: :text, values: %w(value1 value2)) }
80
+
81
+ #Adds datasource.
82
+ datasource.add!()
83
+
84
+
85
+ #Creates new job to merge datasource into document.
86
+ job = document.datasource!(datasource, {:new_type => 'pdf'})
87
+ sleep 10 # wait for merge and convert
88
+
89
+ #Returns an hash of input and output documents associated to job.
90
+ document = job.documents!()
91
+
92
+ #Download file
93
+ document[:inputs][0].outputs[0].download!("#{File.dirname(__FILE__)}/../public/downloads")
94
+
95
+ #Set converted document GUID
96
+ guid = document[:inputs][0].outputs[0].guid
97
+ #Set converted document Name
98
+ file_name = document[:inputs][0].outputs[0].name
99
+
100
+ #Prepare to sign url
101
+ iframe = "/document-viewer/embed/#{guid}"
102
+ # Construct result string
103
+ url = GroupDocs::Api::Request.new(:path => iframe).prepare_and_sign_url
104
+ #Generate iframe URL
105
+ case base_path
106
+ when 'https://stage-api-groupdocs.dynabic.com'
107
+ iframe = "https://stage-api-groupdocs.dynabic.com#{url}"
108
+ when 'https://dev-api-groupdocs.dynabic.com'
109
+ iframe = "https://dev-apps.groupdocs.com#{url}"
110
+ else
111
+ iframe = "https://apps.groupdocs.com#{url}"
112
+ end
113
+
114
+ #Set iframe with document GUID or raise an error
115
+ if guid
116
+ #Make iframe
117
+ iframe = "<iframe id='downloadframe' src='#{iframe}' width='800' height='1000'></iframe>"
118
+ else
119
+ raise 'File was not converted'
120
+ end
121
+
122
+ rescue Exception => e
123
+ err = e.message
124
+ end
125
+
126
+ #Set variables for template
127
+ haml :sample25, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :iframe => iframe, :fileName => file_name, :err => err}
128
128
  end