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,190 +1,190 @@
1
- #GET request
2
- get '/sample-18-how-to-convert-doc-to-docx-docx-to-doc-docx-to-pdf-and-ppt-to-pdf' do
3
- haml :sample18
4
- end
5
-
6
- #POST request
7
- post '/sample18/convert_callback' do
8
- #Set download path
9
- downloads_path = "#{File.dirname(__FILE__)}/../public/downloads"
10
-
11
- #Get callback request
12
- data = JSON.parse(request.body.read)
13
- begin
14
- raise 'Empty params!' if data.empty?
15
- source_id = nil
16
- client_id = nil
17
- private_key = nil
18
-
19
- #Get value of SourceId
20
- data.each do |key, value|
21
- if key == 'SourceId'
22
- source_id = value
23
- end
24
- end
25
-
26
- #Get private key and client_id from file user_info.txt
27
- if File.exist?("#{File.dirname(__FILE__)}/../public/user_info.txt")
28
- contents = File.read("#{File.dirname(__FILE__)}/../public/user_info.txt")
29
- contents = contents.split(' ')
30
- client_id = contents.first
31
- private_key = contents.last
32
- end
33
-
34
- #Create Job instance
35
- job = GroupDocs::Job.new({:id => source_id})
36
-
37
- #Get document by job id
38
- documents = job.documents!({:client_id => client_id, :private_key => private_key})
39
-
40
- #Download converted file
41
- documents[:inputs].first.outputs.first.download!(downloads_path, {:client_id => client_id, :private_key => private_key})
42
-
43
- rescue Exception => e
44
- err = e.message
45
- end
46
- end
47
-
48
-
49
- #GET request
50
- get '/sample18/check' do
51
-
52
- #Check is there download directory
53
- unless File.directory?("#{File.dirname(__FILE__)}/../public/downloads")
54
- return 'Directory was not found.'
55
- end
56
-
57
- #Get file name from download directory
58
- name = nil
59
- Dir.entries("#{File.dirname(__FILE__)}/../public/downloads").each do |file|
60
- name = file if file != '.' && file != '..'
61
- end
62
-
63
- name
64
- end
65
-
66
- #GET request
67
- get '/sample18/downloads/:filename' do |filename|
68
- # Send file with header to download it
69
- send_file "#{File.dirname(__FILE__)}/../public/downloads/#{filename}", :filename => filename, :type => 'Application/octet-stream'
70
- end
71
-
72
-
73
- #POST request
74
- post '/sample-18-how-to-convert-doc-to-docx-docx-to-doc-docx-to-pdf-and-ppt-to-pdf' do
75
- #Set variables
76
- set :client_id, params[:clientId]
77
- set :private_key, params[:privateKey]
78
- set :source, params[:source]
79
- set :file_id, params[:fileId]
80
- set :url, params[:url]
81
- set :convert_type, params[:convertType]
82
- set :callback, params[:callback]
83
- set :base_path, params[:basePath]
84
-
85
- #Set download path
86
- downloads_path = "#{File.dirname(__FILE__)}/../public/downloads"
87
-
88
- #Remove all files from download directory or create folder if it not there
89
- if File.directory?(downloads_path)
90
- Dir.foreach(downloads_path) { |f| fn = File.join(downloads_path, f); File.delete(fn) if f != '.' && f != '..' }
91
- else
92
- Dir::mkdir(downloads_path)
93
- end
94
-
95
- begin
96
- #Check required variables
97
- raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty?
98
-
99
- #Prepare base path
100
- if settings.base_path.empty?
101
- base_path = 'https://api.groupdocs.com'
102
- elsif settings.base_path.match('/v2.0')
103
- base_path = settings.base_path.split('/v2.0')[0]
104
- else
105
- base_path = settings.base_path
106
- end
107
-
108
- #Configure your access to API server
109
- GroupDocs.configure do |groupdocs|
110
- groupdocs.client_id = settings.client_id
111
- groupdocs.private_key = settings.private_key
112
- #Optionally specify API server and version
113
- groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
114
- end
115
-
116
- #Write client and private key to the file for callback job
117
- if settings.callback[0]
118
- out_file = File.new("#{File.dirname(__FILE__)}/../public/user_info.txt", 'w')
119
- #White space is required
120
- out_file.write("#{settings.client_id} ")
121
- out_file.write("#{settings.private_key}")
122
- out_file.close
123
- end
124
-
125
- file = nil
126
-
127
- #Get document by file GUID
128
- case settings.source
129
- when 'guid'
130
- #Create instance of File
131
- file = GroupDocs::Storage::File.new({:guid => settings.file_id})
132
- when 'local'
133
- #Construct path
134
- file_path = "#{Dir.tmpdir}/#{params[:file][:filename]}"
135
- #Open file
136
- File.open(file_path, 'wb') { |f| f.write(params[:file][:tempfile].read) }
137
- #Make a request to API using client_id and private_key
138
- file = GroupDocs::Storage::File.upload!(file_path, {})
139
- when 'url'
140
- #Upload file from defined url
141
- file = GroupDocs::Storage::File.upload_web!(settings.url)
142
- else
143
- raise 'Wrong GUID source.'
144
- end
145
-
146
- #Raise exception if something went wrong
147
- raise 'No such file' unless file.is_a?(GroupDocs::Storage::File)
148
-
149
- #Make document from file
150
- document = file.to_document
151
- #Convert document
152
- convert = document.convert!(settings.convert_type, {:callback => settings.callback})
153
- #Waite 15 seconds for while file converting
154
- for i in 1..5
155
- i+=1
156
- sleep(2)
157
- if GroupDocs::Job.get!(convert.id).status.to_s == 'archived' then break end
158
- end
159
-
160
-
161
- #Get array of changes in document from job
162
- original_document = convert.documents!()
163
-
164
- #Get converted document GUID
165
- guid = original_document[:inputs].first.outputs.first.guid
166
-
167
- #Prepare to sign url
168
- iframe = "/document-viewer/embed/#{guid}"
169
- # Construct result string
170
- url = GroupDocs::Api::Request.new(:path => iframe).prepare_and_sign_url
171
- #Generate iframe URL
172
- case base_path
173
- when 'https://stage-api-groupdocs.dynabic.com'
174
- iframe = "https://stage-api-groupdocs.dynabic.com#{url}"
175
- when 'https://dev-api-groupdocs.dynabic.com'
176
- iframe = "https://dev-apps.groupdocs.com#{url}"
177
- else
178
- iframe = "https://apps.groupdocs.com#{url}"
179
- end
180
-
181
- #Make iframe
182
- iframe = "<iframe id='downloadframe' src='#{iframe}' width='800' height='1000'></iframe>"
183
-
184
- rescue Exception => e
185
- err = e.message
186
- end
187
-
188
- #Set variables for template
189
- haml :sample18, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :callback => settings.callback, :fileId => file, :converted => guid, :iframe => iframe, :err => err}
190
- end
1
+ #GET request
2
+ get '/sample-18-how-to-convert-doc-to-docx-docx-to-doc-docx-to-pdf-and-ppt-to-pdf' do
3
+ haml :sample18
4
+ end
5
+
6
+ #POST request
7
+ post '/sample18/convert_callback' do
8
+ #Set download path
9
+ downloads_path = "#{File.dirname(__FILE__)}/../public/downloads"
10
+
11
+ #Get callback request
12
+ data = JSON.parse(request.body.read)
13
+ begin
14
+ raise 'Empty params!' if data.empty?
15
+ source_id = nil
16
+ client_id = nil
17
+ private_key = nil
18
+
19
+ #Get value of SourceId
20
+ data.each do |key, value|
21
+ if key == 'SourceId'
22
+ source_id = value
23
+ end
24
+ end
25
+
26
+ #Get private key and client_id from file user_info.txt
27
+ if File.exist?("#{File.dirname(__FILE__)}/../public/user_info.txt")
28
+ contents = File.read("#{File.dirname(__FILE__)}/../public/user_info.txt")
29
+ contents = contents.split(' ')
30
+ client_id = contents.first
31
+ private_key = contents.last
32
+ end
33
+
34
+ #Create Job instance
35
+ job = GroupDocs::Job.new({:id => source_id})
36
+
37
+ #Get document by job id
38
+ documents = job.documents!({:client_id => client_id, :private_key => private_key})
39
+
40
+ #Download converted file
41
+ documents[:inputs].first.outputs.first.download!(downloads_path, {:client_id => client_id, :private_key => private_key})
42
+
43
+ rescue Exception => e
44
+ err = e.message
45
+ end
46
+ end
47
+
48
+
49
+ #GET request
50
+ get '/sample18/check' do
51
+
52
+ #Check is there download directory
53
+ unless File.directory?("#{File.dirname(__FILE__)}/../public/downloads")
54
+ return 'Directory was not found.'
55
+ end
56
+
57
+ #Get file name from download directory
58
+ name = nil
59
+ Dir.entries("#{File.dirname(__FILE__)}/../public/downloads").each do |file|
60
+ name = file if file != '.' && file != '..'
61
+ end
62
+
63
+ name
64
+ end
65
+
66
+ #GET request
67
+ get '/sample18/downloads/:filename' do |filename|
68
+ # Send file with header to download it
69
+ send_file "#{File.dirname(__FILE__)}/../public/downloads/#{filename}", :filename => filename, :type => 'Application/octet-stream'
70
+ end
71
+
72
+
73
+ #POST request
74
+ post '/sample-18-how-to-convert-doc-to-docx-docx-to-doc-docx-to-pdf-and-ppt-to-pdf' do
75
+ #Set variables
76
+ set :client_id, params[:clientId]
77
+ set :private_key, params[:privateKey]
78
+ set :source, params[:source]
79
+ set :file_id, params[:fileId]
80
+ set :url, params[:url]
81
+ set :convert_type, params[:convertType]
82
+ set :callback, params[:callback]
83
+ set :base_path, params[:basePath]
84
+
85
+ #Set download path
86
+ downloads_path = "#{File.dirname(__FILE__)}/../public/downloads"
87
+
88
+ #Remove all files from download directory or create folder if it not there
89
+ if File.directory?(downloads_path)
90
+ Dir.foreach(downloads_path) { |f| fn = File.join(downloads_path, f); File.delete(fn) if f != '.' && f != '..' }
91
+ else
92
+ Dir::mkdir(downloads_path)
93
+ end
94
+
95
+ begin
96
+ #Check required variables
97
+ raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty?
98
+
99
+ #Prepare base path
100
+ if settings.base_path.empty?
101
+ base_path = 'https://api.groupdocs.com'
102
+ elsif settings.base_path.match('/v2.0')
103
+ base_path = settings.base_path.split('/v2.0')[0]
104
+ else
105
+ base_path = settings.base_path
106
+ end
107
+
108
+ #Configure your access to API server
109
+ GroupDocs.configure do |groupdocs|
110
+ groupdocs.client_id = settings.client_id
111
+ groupdocs.private_key = settings.private_key
112
+ #Optionally specify API server and version
113
+ groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
114
+ end
115
+
116
+ #Write client and private key to the file for callback job
117
+ if settings.callback[0]
118
+ out_file = File.new("#{File.dirname(__FILE__)}/../public/user_info.txt", 'w')
119
+ #White space is required
120
+ out_file.write("#{settings.client_id} ")
121
+ out_file.write("#{settings.private_key}")
122
+ out_file.close
123
+ end
124
+
125
+ file = nil
126
+
127
+ #Get document by file GUID
128
+ case settings.source
129
+ when 'guid'
130
+ #Create instance of File
131
+ file = GroupDocs::Storage::File.new({:guid => settings.file_id})
132
+ when 'local'
133
+ #Construct path
134
+ file_path = "#{Dir.tmpdir}/#{params[:file][:filename]}"
135
+ #Open file
136
+ File.open(file_path, 'wb') { |f| f.write(params[:file][:tempfile].read) }
137
+ #Make a request to API using client_id and private_key
138
+ file = GroupDocs::Storage::File.upload!(file_path, {})
139
+ when 'url'
140
+ #Upload file from defined url
141
+ file = GroupDocs::Storage::File.upload_web!(settings.url)
142
+ else
143
+ raise 'Wrong GUID source.'
144
+ end
145
+
146
+ #Raise exception if something went wrong
147
+ raise 'No such file' unless file.is_a?(GroupDocs::Storage::File)
148
+
149
+ #Make document from file
150
+ document = file.to_document
151
+ #Convert document
152
+ convert = document.convert!(settings.convert_type, {:callback => settings.callback})
153
+ #Waite 15 seconds for while file converting
154
+ for i in 1..5
155
+ i+=1
156
+ sleep(2)
157
+ if GroupDocs::Job.get!(convert.id).status.to_s == 'archived' then break end
158
+ end
159
+
160
+
161
+ #Get array of changes in document from job
162
+ original_document = convert.documents!()
163
+
164
+ #Get converted document GUID
165
+ guid = original_document[:inputs].first.outputs.first.guid
166
+
167
+ #Prepare to sign url
168
+ iframe = "/document-viewer/embed/#{guid}"
169
+ # Construct result string
170
+ url = GroupDocs::Api::Request.new(:path => iframe).prepare_and_sign_url
171
+ #Generate iframe URL
172
+ case base_path
173
+ when 'https://stage-api-groupdocs.dynabic.com'
174
+ iframe = "https://stage-api-groupdocs.dynabic.com#{url}"
175
+ when 'https://dev-api-groupdocs.dynabic.com'
176
+ iframe = "https://dev-apps.groupdocs.com#{url}"
177
+ else
178
+ iframe = "https://apps.groupdocs.com#{url}"
179
+ end
180
+
181
+ #Make iframe
182
+ iframe = "<iframe id='downloadframe' src='#{iframe}' width='800' height='1000'></iframe>"
183
+
184
+ rescue Exception => e
185
+ err = e.message
186
+ end
187
+
188
+ #Set variables for template
189
+ haml :sample18, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :callback => settings.callback, :fileId => file, :converted => guid, :iframe => iframe, :err => err}
190
+ end
@@ -1,188 +1,188 @@
1
- #GET request
2
- get '/sample-19-how-to-compare-documents' do
3
- haml :sample19
4
- end
5
-
6
- #POST request
7
- post '/sample19/compere_callback' do
8
- #Set download path
9
- downloads_path = "#{File.dirname(__FILE__)}/../public/downloads"
10
-
11
- #Get callback request
12
- data = JSON.parse(request.body.read)
13
- begin
14
- raise 'Empty params!' if data.empty?
15
- source_id = nil
16
- client_id = nil
17
- private_key = nil
18
-
19
- #Get value of SourceId
20
- data.each do |key, value|
21
- if key == 'SourceId'
22
- source_id = value
23
- end
24
- end
25
-
26
- #Get private key and client_id from file user_info.txt
27
- if File.exist?("#{File.dirname(__FILE__)}/../public/user_info.txt")
28
- contents = File.read("#{File.dirname(__FILE__)}/../public/user_info.txt")
29
- contents = contents.split(' ')
30
- client_id = contents.first
31
- private_key = contents.last
32
- end
33
-
34
- #Create Job instance
35
- job = GroupDocs::Job.new({:id => source_id})
36
-
37
- #Get document by job id
38
- documents = job.documents!({:client_id => client_id, :private_key => private_key})
39
-
40
- #Download converted file
41
- documents[:inputs].first.outputs.first.download!(downloads_path, {:client_id => client_id, :private_key => private_key})
42
-
43
- rescue Exception => e
44
- err = e.message
45
- end
46
- end
47
-
48
- #GET request
49
- get '/sample19/check' do
50
-
51
- #Check is there download directory
52
- unless File.directory?("#{File.dirname(__FILE__)}/../public/downloads")
53
- return 'Directory was not found.'
54
- end
55
-
56
- #Get file name from download directory
57
- name = nil
58
- Dir.entries("#{File.dirname(__FILE__)}/../public/downloads").each do |file|
59
- name = file if file != '.' && file != '..'
60
- end
61
-
62
- name
63
- end
64
-
65
- #GET request
66
- get '/sample19/downloads/:filename' do |filename|
67
- #Send file with header to download it
68
- send_file "#{File.dirname(__FILE__)}/../public/downloads/#{filename}", :filename => filename, :type => 'Application/octet-stream'
69
- end
70
-
71
- #POST request
72
- post '/sample-19-how-to-compare-documents' do
73
- #Set variables
74
- set :client_id, params[:clientId]
75
- set :private_key, params[:privateKey]
76
- set :sourceFileId, params[:sourceFileId]
77
- set :targetFileId, params[:targetFileId]
78
- set :callback, params[:callback]
79
- set :base_path, params[:basePath]
80
-
81
- #Set download path
82
- downloads_path = "#{File.dirname(__FILE__)}/../public/downloads"
83
-
84
- #Remove all files from download directory or create folder if it not there
85
- if File.directory?(downloads_path)
86
- Dir.foreach(downloads_path) { |f| fn = File.join(downloads_path, f); File.delete(fn) if f != '.' && f != '..' }
87
- else
88
- Dir::mkdir(downloads_path)
89
- end
90
-
91
- begin
92
-
93
- #Check required variables
94
- raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty? or settings.sourceFileId.empty? or settings.targetFileId.empty?
95
-
96
- #Prepare base path
97
- if settings.base_path.empty?
98
- base_path = 'https://api.groupdocs.com'
99
- elsif settings.base_path.match('/v2.0')
100
- base_path = settings.base_path.split('/v2.0')[0]
101
- else
102
- base_path = settings.base_path
103
- end
104
-
105
- #Configure your access to API server
106
- GroupDocs.configure do |groupdocs|
107
- groupdocs.client_id = settings.client_id
108
- groupdocs.private_key = settings.private_key
109
- #Optionally specify API server and version
110
- groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
111
- end
112
-
113
- #Write client and private key to the file for callback job
114
- if settings.callback
115
- out_file = File.new("#{File.dirname(__FILE__)}/../public/user_info.txt", 'w')
116
- #White space is required
117
- out_file.write("#{settings.client_id} ")
118
- out_file.write("#{settings.private_key}")
119
- out_file.close
120
- end
121
-
122
- #Make a request to API using client_id and private_key
123
- files_list = GroupDocs::Storage::Folder.list!('/', {})
124
-
125
- source_document = ''
126
- target_document = ''
127
-
128
- #Get source and target documents by file ID
129
- files_list.each do |element|
130
- if element.respond_to?('guid') == true and element.guid == settings.sourceFileId
131
- source_document = element
132
- else
133
- source_document = GroupDocs::Storage::File.new(guid: settings.sourceFileId)
134
- end
135
- if element.respond_to?('guid') == true and element.guid == settings.targetFileId
136
- target_document = element
137
- else
138
- target_document = GroupDocs::Storage::File.new(guid: settings.targetFileId)
139
- end
140
- end
141
-
142
- unless source_document.instance_of? String and target_document.instance_of? String
143
-
144
- info = source_document.to_document.compare!(target_document.to_document, settings.callback)
145
-
146
- i = 0
147
-
148
- while i<5 do
149
- sleep(5)
150
- job = GroupDocs::Job.get!(info.id)
151
- break if job.status == :archived
152
- i += 1
153
- end
154
-
155
- #Get job by ID
156
- job = GroupDocs::Job.new(id: info.id)
157
-
158
- #Get all job documents
159
- documents = job.documents!()
160
- #Get compared file giud
161
- guid = documents[:outputs].first.file.guid
162
- embedkey = GroupDocs::User.get_embed_key!('comparison')
163
-
164
- #Prepare to sign url
165
- iframe = "/document-comparison2/embed/#{embedkey}/#{guid}"
166
- # Construct result string
167
- url = GroupDocs::Api::Request.new(:path => iframe).prepare_and_sign_url
168
- #Generate iframe URL
169
- case settings.base_path
170
- when 'https://stage-api-groupdocs.dynabic.com'
171
- iframe = "https://stage-api-groupdocs.dynabic.com#{url}"
172
- when 'https://dev-api-groupdocs.dynabic.com'
173
- iframe = "https://dev-apps.groupdocs.com#{url}"
174
- else
175
- iframe = "https://apps.groupdocs.com#{url}"
176
- end
177
-
178
- #Construct result iframe
179
- iframe = "<iframe id='downloadframe' src='#{iframe}' width='800' height='1000'></iframe>"
180
- end
181
-
182
- rescue Exception => e
183
- err = e.message
184
- end
185
-
186
- #Set variables for template
187
- haml :sample19, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :sourceFileId => settings.sourceFileId, :targetFileId => settings.targetFileId, :callback => settings.callback, :iframe => iframe, :err => err}
188
- end
1
+ #GET request
2
+ get '/sample-19-how-to-compare-documents' do
3
+ haml :sample19
4
+ end
5
+
6
+ #POST request
7
+ post '/sample19/compere_callback' do
8
+ #Set download path
9
+ downloads_path = "#{File.dirname(__FILE__)}/../public/downloads"
10
+
11
+ #Get callback request
12
+ data = JSON.parse(request.body.read)
13
+ begin
14
+ raise 'Empty params!' if data.empty?
15
+ source_id = nil
16
+ client_id = nil
17
+ private_key = nil
18
+
19
+ #Get value of SourceId
20
+ data.each do |key, value|
21
+ if key == 'SourceId'
22
+ source_id = value
23
+ end
24
+ end
25
+
26
+ #Get private key and client_id from file user_info.txt
27
+ if File.exist?("#{File.dirname(__FILE__)}/../public/user_info.txt")
28
+ contents = File.read("#{File.dirname(__FILE__)}/../public/user_info.txt")
29
+ contents = contents.split(' ')
30
+ client_id = contents.first
31
+ private_key = contents.last
32
+ end
33
+
34
+ #Create Job instance
35
+ job = GroupDocs::Job.new({:id => source_id})
36
+
37
+ #Get document by job id
38
+ documents = job.documents!({:client_id => client_id, :private_key => private_key})
39
+
40
+ #Download converted file
41
+ documents[:inputs].first.outputs.first.download!(downloads_path, {:client_id => client_id, :private_key => private_key})
42
+
43
+ rescue Exception => e
44
+ err = e.message
45
+ end
46
+ end
47
+
48
+ #GET request
49
+ get '/sample19/check' do
50
+
51
+ #Check is there download directory
52
+ unless File.directory?("#{File.dirname(__FILE__)}/../public/downloads")
53
+ return 'Directory was not found.'
54
+ end
55
+
56
+ #Get file name from download directory
57
+ name = nil
58
+ Dir.entries("#{File.dirname(__FILE__)}/../public/downloads").each do |file|
59
+ name = file if file != '.' && file != '..'
60
+ end
61
+
62
+ name
63
+ end
64
+
65
+ #GET request
66
+ get '/sample19/downloads/:filename' do |filename|
67
+ #Send file with header to download it
68
+ send_file "#{File.dirname(__FILE__)}/../public/downloads/#{filename}", :filename => filename, :type => 'Application/octet-stream'
69
+ end
70
+
71
+ #POST request
72
+ post '/sample-19-how-to-compare-documents' do
73
+ #Set variables
74
+ set :client_id, params[:clientId]
75
+ set :private_key, params[:privateKey]
76
+ set :sourceFileId, params[:sourceFileId]
77
+ set :targetFileId, params[:targetFileId]
78
+ set :callback, params[:callback]
79
+ set :base_path, params[:basePath]
80
+
81
+ #Set download path
82
+ downloads_path = "#{File.dirname(__FILE__)}/../public/downloads"
83
+
84
+ #Remove all files from download directory or create folder if it not there
85
+ if File.directory?(downloads_path)
86
+ Dir.foreach(downloads_path) { |f| fn = File.join(downloads_path, f); File.delete(fn) if f != '.' && f != '..' }
87
+ else
88
+ Dir::mkdir(downloads_path)
89
+ end
90
+
91
+ begin
92
+
93
+ #Check required variables
94
+ raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty? or settings.sourceFileId.empty? or settings.targetFileId.empty?
95
+
96
+ #Prepare base path
97
+ if settings.base_path.empty?
98
+ base_path = 'https://api.groupdocs.com'
99
+ elsif settings.base_path.match('/v2.0')
100
+ base_path = settings.base_path.split('/v2.0')[0]
101
+ else
102
+ base_path = settings.base_path
103
+ end
104
+
105
+ #Configure your access to API server
106
+ GroupDocs.configure do |groupdocs|
107
+ groupdocs.client_id = settings.client_id
108
+ groupdocs.private_key = settings.private_key
109
+ #Optionally specify API server and version
110
+ groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
111
+ end
112
+
113
+ #Write client and private key to the file for callback job
114
+ if settings.callback
115
+ out_file = File.new("#{File.dirname(__FILE__)}/../public/user_info.txt", 'w')
116
+ #White space is required
117
+ out_file.write("#{settings.client_id} ")
118
+ out_file.write("#{settings.private_key}")
119
+ out_file.close
120
+ end
121
+
122
+ #Make a request to API using client_id and private_key
123
+ files_list = GroupDocs::Storage::Folder.list!('/', {})
124
+
125
+ source_document = ''
126
+ target_document = ''
127
+
128
+ #Get source and target documents by file ID
129
+ files_list.each do |element|
130
+ if element.respond_to?('guid') == true and element.guid == settings.sourceFileId
131
+ source_document = element
132
+ else
133
+ source_document = GroupDocs::Storage::File.new(guid: settings.sourceFileId)
134
+ end
135
+ if element.respond_to?('guid') == true and element.guid == settings.targetFileId
136
+ target_document = element
137
+ else
138
+ target_document = GroupDocs::Storage::File.new(guid: settings.targetFileId)
139
+ end
140
+ end
141
+
142
+ unless source_document.instance_of? String and target_document.instance_of? String
143
+
144
+ info = source_document.to_document.compare!(target_document.to_document, settings.callback)
145
+
146
+ i = 0
147
+
148
+ while i<5 do
149
+ sleep(5)
150
+ job = GroupDocs::Job.get!(info.id)
151
+ break if job.status == :archived
152
+ i += 1
153
+ end
154
+
155
+ #Get job by ID
156
+ job = GroupDocs::Job.new(id: info.id)
157
+
158
+ #Get all job documents
159
+ documents = job.documents!()
160
+ #Get compared file giud
161
+ guid = documents[:outputs].first.file.guid
162
+ embedkey = GroupDocs::User.get_embed_key!('comparison')
163
+
164
+ #Prepare to sign url
165
+ iframe = "/document-comparison2/embed/#{embedkey}/#{guid}"
166
+ # Construct result string
167
+ url = GroupDocs::Api::Request.new(:path => iframe).prepare_and_sign_url
168
+ #Generate iframe URL
169
+ case settings.base_path
170
+ when 'https://stage-api-groupdocs.dynabic.com'
171
+ iframe = "https://stage-api-groupdocs.dynabic.com#{url}"
172
+ when 'https://dev-api-groupdocs.dynabic.com'
173
+ iframe = "https://dev-apps.groupdocs.com#{url}"
174
+ else
175
+ iframe = "https://apps.groupdocs.com#{url}"
176
+ end
177
+
178
+ #Construct result iframe
179
+ iframe = "<iframe id='downloadframe' src='#{iframe}' width='800' height='1000'></iframe>"
180
+ end
181
+
182
+ rescue Exception => e
183
+ err = e.message
184
+ end
185
+
186
+ #Set variables for template
187
+ haml :sample19, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :sourceFileId => settings.sourceFileId, :targetFileId => settings.targetFileId, :callback => settings.callback, :iframe => iframe, :err => err}
188
+ end