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,133 +1,133 @@
1
- #GET request
2
- get '/sample-11-how-programmatically-create-and-post-an-annotation-into-document' do
3
- haml :sample11
4
- end
5
-
6
- #POST request
7
- post '/sample-11-how-programmatically-create-and-post-an-annotation-into-document' do
8
- #Set variables
9
- set :client_id, params[:clientId]
10
- set :private_key, params[:privateKey]
11
- set :file_id, params[:fileId]
12
- set :annotation_type, params[:annotationType]
13
- set :annotation_id, params[:annotationId]
14
- set :base_path, params[:basePath]
15
-
16
- begin
17
-
18
- #Check required variables
19
- raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty? or settings.file_id.empty? or settings.annotation_type.empty?
20
-
21
- #Prepare base path
22
- if settings.base_path.empty?
23
- base_path = 'https://api.groupdocs.com'
24
- elsif settings.base_path.match('/v2.0')
25
- base_path = settings.base_path.split('/v2.0')[0]
26
- else
27
- base_path = settings.base_path
28
- end
29
-
30
- #Configure your access to API server
31
- GroupDocs.configure do |groupdocs|
32
- groupdocs.client_id = settings.client_id
33
- groupdocs.private_key = settings.private_key
34
- #Optionally specify API server and version
35
- groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
36
- end
37
-
38
- if settings.annotation_id != ''
39
-
40
- file = GroupDocs::Storage::File.new({:guid => settings.file_id}).to_document
41
- annotation = file.annotations!()
42
-
43
- #Remove annotation from document
44
- remove = annotation.last.remove!()
45
- message = "You delete the annotation id = #{remove[:guid]} "
46
- else
47
- #Annotation types
48
- types = {:text => "0", :area => "1", :point => "2"}
49
-
50
- #Required parameters
51
- all_params = all_params = ['annotationType', 'boxX', 'boxY', 'text']
52
-
53
- #Added required parameters depends on annotation type ['text' or 'area']
54
- if settings.annotation_type == 'text'
55
- all_params = all_params | ['boxWidth', 'boxHeight', 'annotationPositionX', 'annotationPositionY', 'rangePosition', 'rangeLength']
56
- elsif settings.annotation_type == 'area'
57
- all_params = all_params | ['boxWidth', 'boxHeight']
58
- end
59
- #raise all_params.to_yaml
60
- #Checking required parameters
61
- all_params.each do |param|
62
- raise 'Please enter all required parameters' if params[param].empty?
63
- end
64
-
65
- #Create document object
66
- document = GroupDocs::Storage::File.new(guid: settings.file_id).to_document
67
-
68
- unless document.instance_of? String
69
-
70
- #Start create new annotation
71
- annotation = GroupDocs::Document::Annotation.new(document: document)
72
-
73
- info = nil
74
- #Construct requestBody depends on annotation type
75
- #Text annotation
76
- if settings.annotation_type == 'text'
77
- annotation_box = {x: params['boxX'], y: params['boxY'], width: params['boxWidth'], height: params['boxHeight']}
78
- annotation_position = {x: params['annotationPositionX'], y: params['annotationPositionY']}
79
- range = {position: params['rangePosition'], length: params['rangeLength']}
80
- info = { :box => annotation_box, :annotationPosition => annotation_position, :range => range, :type => types[settings.annotation_type.to_sym], :replies => [{:text => params['text']}]}
81
- #Area annotation
82
- elsif settings.annotation_type == 'area'
83
- annotation_box = {x: params['boxX'], y: params['boxY'], width: params['boxWidth'], height: params['boxHeight']}
84
- annotation_annotationPosition = {x: 0, y: 0}
85
- info = {:box => annotation_box, :annotationPosition => annotation_annotationPosition, :type => types[settings.annotation_type.to_sym], :replies => [{:text => params['text']}]}
86
- #Point annotation
87
- elsif settings.annotation_type == 'point'
88
- annotation_box = {x: params['boxX'], y: params['boxY'], width: 0, height: 0}
89
- annotation_annotationPosition = {x: 0, y: 0}
90
-
91
- info = {:box => annotation_box, :annotationPosition => annotation_annotationPosition, :type => types[settings.annotation_type.to_sym], :replies => [{:text => params['text']}] }
92
- end
93
- #Call create method
94
- annotation.create!(info)
95
- id = annotation.document.file.id
96
- #Get document guid
97
- guid = annotation.document.file.guid
98
-
99
- #Prepare to sign url
100
- iframe = "/document-annotation2/embed/#{guid}"
101
- #Construct result string
102
- url = GroupDocs::Api::Request.new(:path => iframe).prepare_and_sign_url
103
- #Generate iframe URL
104
- case base_path
105
- when 'https://stage-api-groupdocs.dynabic.com'
106
- iframe = "https://stage-api-groupdocs.dynabic.com#{url}"
107
- when 'https://dev-api-groupdocs.dynabic.com'
108
- iframe = "https://dev-apps.groupdocs.com#{url}"
109
- else
110
- iframe = "https://apps.groupdocs.com#{url}"
111
- end
112
-
113
- #Make iframe
114
- iframe = "<iframe id='downloadframe' src='#{iframe}' width='800' height='1000'></iframe>"
115
-
116
- end
117
- end
118
-
119
- rescue Exception => e
120
- err = e.message
121
- end
122
-
123
- # set variables for template
124
- haml :sample11, :locals => {:clientId => settings.client_id,
125
- :privateKey => settings.private_key,
126
- :fileId => settings.file_id,
127
- :annotationType => settings.annotation_type,
128
- :annotationId => id,
129
- :annotationText => params['text'],
130
- :err => err,
131
- :iframe => iframe,
132
- :message => message}
1
+ #GET request
2
+ get '/sample-11-how-programmatically-create-and-post-an-annotation-into-document' do
3
+ haml :sample11
4
+ end
5
+
6
+ #POST request
7
+ post '/sample-11-how-programmatically-create-and-post-an-annotation-into-document' do
8
+ #Set variables
9
+ set :client_id, params[:clientId]
10
+ set :private_key, params[:privateKey]
11
+ set :file_id, params[:fileId]
12
+ set :annotation_type, params[:annotationType]
13
+ set :annotation_id, params[:annotationId]
14
+ set :base_path, params[:basePath]
15
+
16
+ begin
17
+
18
+ #Check required variables
19
+ raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty? or settings.file_id.empty? or settings.annotation_type.empty?
20
+
21
+ #Prepare base path
22
+ if settings.base_path.empty?
23
+ base_path = 'https://api.groupdocs.com'
24
+ elsif settings.base_path.match('/v2.0')
25
+ base_path = settings.base_path.split('/v2.0')[0]
26
+ else
27
+ base_path = settings.base_path
28
+ end
29
+
30
+ #Configure your access to API server
31
+ GroupDocs.configure do |groupdocs|
32
+ groupdocs.client_id = settings.client_id
33
+ groupdocs.private_key = settings.private_key
34
+ #Optionally specify API server and version
35
+ groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
36
+ end
37
+
38
+ if settings.annotation_id != ''
39
+
40
+ file = GroupDocs::Storage::File.new({:guid => settings.file_id}).to_document
41
+ annotation = file.annotations!()
42
+
43
+ #Remove annotation from document
44
+ remove = annotation.last.remove!()
45
+ message = "You delete the annotation id = #{remove[:guid]} "
46
+ else
47
+ #Annotation types
48
+ types = {:text => "0", :area => "1", :point => "2"}
49
+
50
+ #Required parameters
51
+ all_params = all_params = ['annotationType', 'boxX', 'boxY', 'text']
52
+
53
+ #Added required parameters depends on annotation type ['text' or 'area']
54
+ if settings.annotation_type == 'text'
55
+ all_params = all_params | ['boxWidth', 'boxHeight', 'annotationPositionX', 'annotationPositionY', 'rangePosition', 'rangeLength']
56
+ elsif settings.annotation_type == 'area'
57
+ all_params = all_params | ['boxWidth', 'boxHeight']
58
+ end
59
+ #raise all_params.to_yaml
60
+ #Checking required parameters
61
+ all_params.each do |param|
62
+ raise 'Please enter all required parameters' if params[param].empty?
63
+ end
64
+
65
+ #Create document object
66
+ document = GroupDocs::Storage::File.new(guid: settings.file_id).to_document
67
+
68
+ unless document.instance_of? String
69
+
70
+ #Start create new annotation
71
+ annotation = GroupDocs::Document::Annotation.new(document: document)
72
+
73
+ info = nil
74
+ #Construct requestBody depends on annotation type
75
+ #Text annotation
76
+ if settings.annotation_type == 'text'
77
+ annotation_box = {x: params['boxX'], y: params['boxY'], width: params['boxWidth'], height: params['boxHeight']}
78
+ annotation_position = {x: params['annotationPositionX'], y: params['annotationPositionY']}
79
+ range = {position: params['rangePosition'], length: params['rangeLength']}
80
+ info = { :box => annotation_box, :annotationPosition => annotation_position, :range => range, :type => types[settings.annotation_type.to_sym], :replies => [{:text => params['text']}]}
81
+ #Area annotation
82
+ elsif settings.annotation_type == 'area'
83
+ annotation_box = {x: params['boxX'], y: params['boxY'], width: params['boxWidth'], height: params['boxHeight']}
84
+ annotation_annotationPosition = {x: 0, y: 0}
85
+ info = {:box => annotation_box, :annotationPosition => annotation_annotationPosition, :type => types[settings.annotation_type.to_sym], :replies => [{:text => params['text']}]}
86
+ #Point annotation
87
+ elsif settings.annotation_type == 'point'
88
+ annotation_box = {x: params['boxX'], y: params['boxY'], width: 0, height: 0}
89
+ annotation_annotationPosition = {x: 0, y: 0}
90
+
91
+ info = {:box => annotation_box, :annotationPosition => annotation_annotationPosition, :type => types[settings.annotation_type.to_sym], :replies => [{:text => params['text']}] }
92
+ end
93
+ #Call create method
94
+ annotation.create!(info)
95
+ id = annotation.document.file.id
96
+ #Get document guid
97
+ guid = annotation.document.file.guid
98
+
99
+ #Prepare to sign url
100
+ iframe = "/document-annotation2/embed/#{guid}"
101
+ #Construct result string
102
+ url = GroupDocs::Api::Request.new(:path => iframe).prepare_and_sign_url
103
+ #Generate iframe URL
104
+ case base_path
105
+ when 'https://stage-api-groupdocs.dynabic.com'
106
+ iframe = "https://stage-api-groupdocs.dynabic.com#{url}"
107
+ when 'https://dev-api-groupdocs.dynabic.com'
108
+ iframe = "https://dev-apps.groupdocs.com#{url}"
109
+ else
110
+ iframe = "https://apps.groupdocs.com#{url}"
111
+ end
112
+
113
+ #Make iframe
114
+ iframe = "<iframe id='downloadframe' src='#{iframe}' width='800' height='1000'></iframe>"
115
+
116
+ end
117
+ end
118
+
119
+ rescue Exception => e
120
+ err = e.message
121
+ end
122
+
123
+ # set variables for template
124
+ haml :sample11, :locals => {:clientId => settings.client_id,
125
+ :privateKey => settings.private_key,
126
+ :fileId => settings.file_id,
127
+ :annotationType => settings.annotation_type,
128
+ :annotationId => id,
129
+ :annotationText => params['text'],
130
+ :err => err,
131
+ :iframe => iframe,
132
+ :message => message}
133
133
  end
@@ -1,48 +1,48 @@
1
- #GET request
2
- get '/sample-12-how-to-list-all-annotations-from-document' do
3
- haml :sample12
4
- end
5
-
6
- #POST request
7
- post '/sample-12-how-to-list-all-annotations-from-document' do
8
- #Set variables
9
- set :client_id, params[:clientId]
10
- set :private_key, params[:privateKey]
11
- set :file_id, params[:fileId]
12
- set :base_path, params[:basePath]
13
-
14
- begin
15
- #Check required variables
16
- raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty? or settings.file_id.empty?
17
-
18
- #Prepare base path
19
- if settings.base_path.empty?
20
- base_path = 'https://api.groupdocs.com'
21
- elsif settings.base_path.match('/v2.0')
22
- base_path = settings.base_path.split('/v2.0')[0]
23
- else
24
- base_path = settings.base_path
25
- end
26
-
27
- #Configure your access to API server
28
- GroupDocs.configure do |groupdocs|
29
- groupdocs.client_id = settings.client_id
30
- groupdocs.private_key = settings.private_key
31
- #Optionally specify API server and version
32
- groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
33
- end
34
-
35
- #Create document object
36
- document = GroupDocs::Storage::File.new(guid: settings.file_id)
37
- unless document.instance_of? String
38
- #Get list of annotations
39
- annotations = document.to_document.annotations!()
40
- end
41
-
42
- rescue Exception => e
43
- err = e.message
44
- end
45
-
46
- #Set variables for template
47
- haml :sample12, :locals => {:clientId => settings.client_id, :privateKey => settings.private_key, :annotations => annotations, :fileId => settings.file_id, :err => err}
48
- end
1
+ #GET request
2
+ get '/sample-12-how-to-list-all-annotations-from-document' do
3
+ haml :sample12
4
+ end
5
+
6
+ #POST request
7
+ post '/sample-12-how-to-list-all-annotations-from-document' do
8
+ #Set variables
9
+ set :client_id, params[:clientId]
10
+ set :private_key, params[:privateKey]
11
+ set :file_id, params[:fileId]
12
+ set :base_path, params[:basePath]
13
+
14
+ begin
15
+ #Check required variables
16
+ raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty? or settings.file_id.empty?
17
+
18
+ #Prepare base path
19
+ if settings.base_path.empty?
20
+ base_path = 'https://api.groupdocs.com'
21
+ elsif settings.base_path.match('/v2.0')
22
+ base_path = settings.base_path.split('/v2.0')[0]
23
+ else
24
+ base_path = settings.base_path
25
+ end
26
+
27
+ #Configure your access to API server
28
+ GroupDocs.configure do |groupdocs|
29
+ groupdocs.client_id = settings.client_id
30
+ groupdocs.private_key = settings.private_key
31
+ #Optionally specify API server and version
32
+ groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
33
+ end
34
+
35
+ #Create document object
36
+ document = GroupDocs::Storage::File.new(guid: settings.file_id)
37
+ unless document.instance_of? String
38
+ #Get list of annotations
39
+ annotations = document.to_document.annotations!()
40
+ end
41
+
42
+ rescue Exception => e
43
+ err = e.message
44
+ end
45
+
46
+ #Set variables for template
47
+ haml :sample12, :locals => {:clientId => settings.client_id, :privateKey => settings.private_key, :annotations => annotations, :fileId => settings.file_id, :err => err}
48
+ end
@@ -1,50 +1,50 @@
1
- #GET request
2
- get '/sample-13-how-to-add-collaborator-to-doc-with-annotations' do
3
- haml :sample13
4
- end
5
-
6
- #POST request
7
- post '/sample-13-how-to-add-collaborator-to-doc-with-annotations' do
8
- #Set variables
9
- set :client_id, params[:clientId]
10
- set :private_key, params[:privateKey]
11
- set :file_id, params[:fileId]
12
- set :email, params[:email]
13
- set :base_path, params[:basePath]
14
-
15
- begin
16
- #Check required variables
17
- raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty? or settings.file_id.empty? or settings.email.empty?
18
-
19
- #Prepare base path
20
- if settings.base_path.empty?
21
- base_path = 'https://api.groupdocs.com'
22
- elsif settings.base_path.match('/v2.0')
23
- base_path = settings.base_path.split('/v2.0')[0]
24
- else
25
- base_path = settings.base_path
26
- end
27
-
28
- #Configure your access to API server
29
- GroupDocs.configure do |groupdocs|
30
- groupdocs.client_id = settings.client_id
31
- groupdocs.private_key = settings.private_key
32
- #Optionally specify API server and version
33
- groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
34
- end
35
-
36
- #Create document object
37
- document = GroupDocs::Storage::File.new(guid: settings.file_id)
38
- unless document.instance_of? String
39
- #Add collaborator to doc with annotations
40
- result = document.to_document.set_collaborators!(settings.email.split(' '), 1)
41
- end
42
-
43
-
44
- rescue Exception => e
45
- err = e.message
46
- end
47
-
48
- #Set variables for template
49
- haml :sample13, :locals => {:clientId => settings.client_id, :privateKey => settings.private_key, :fileId => settings.file_id, :email => settings.email, :result => result, :err => err}
1
+ #GET request
2
+ get '/sample-13-how-to-add-collaborator-to-doc-with-annotations' do
3
+ haml :sample13
4
+ end
5
+
6
+ #POST request
7
+ post '/sample-13-how-to-add-collaborator-to-doc-with-annotations' do
8
+ #Set variables
9
+ set :client_id, params[:clientId]
10
+ set :private_key, params[:privateKey]
11
+ set :file_id, params[:fileId]
12
+ set :email, params[:email]
13
+ set :base_path, params[:basePath]
14
+
15
+ begin
16
+ #Check required variables
17
+ raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty? or settings.file_id.empty? or settings.email.empty?
18
+
19
+ #Prepare base path
20
+ if settings.base_path.empty?
21
+ base_path = 'https://api.groupdocs.com'
22
+ elsif settings.base_path.match('/v2.0')
23
+ base_path = settings.base_path.split('/v2.0')[0]
24
+ else
25
+ base_path = settings.base_path
26
+ end
27
+
28
+ #Configure your access to API server
29
+ GroupDocs.configure do |groupdocs|
30
+ groupdocs.client_id = settings.client_id
31
+ groupdocs.private_key = settings.private_key
32
+ #Optionally specify API server and version
33
+ groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
34
+ end
35
+
36
+ #Create document object
37
+ document = GroupDocs::Storage::File.new(guid: settings.file_id)
38
+ unless document.instance_of? String
39
+ #Add collaborator to doc with annotations
40
+ result = document.to_document.set_collaborators!(settings.email.split(' '), 1)
41
+ end
42
+
43
+
44
+ rescue Exception => e
45
+ err = e.message
46
+ end
47
+
48
+ #Set variables for template
49
+ haml :sample13, :locals => {:clientId => settings.client_id, :privateKey => settings.private_key, :fileId => settings.file_id, :email => settings.email, :result => result, :err => err}
50
50
  end