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,173 +1,173 @@
1
- module GroupDocs
2
- class Document::Annotation::Reply < Api::Entity
3
-
4
- #
5
- # Return an array of replies for given annotation.
6
- #
7
- # @param [GroupDocs::Document::Annotation] annotation
8
- # @param [Hash] options
9
- # @option options [Time] :after
10
- # @param [Hash] access Access credentials
11
- # @option access [String] :client_id
12
- # @option access [String] :private_key
13
- # @return [Array<GroupDocs::Document::Annotation::Reply>]
14
- #
15
- # @raise [ArgumentError] If annotation is not passed or is not an instance of GroupDocs::Document::Annotation
16
- # @raise [ArgumentError] If :after option is passed but it's not an instance of Time
17
- #
18
- def self.get!(annotation, options = {}, access = {})
19
- annotation.is_a?(GroupDocs::Document::Annotation) or raise ArgumentError,
20
- "You have to pass GroupDocs::Document::Annotation object: #{annotation.inspect}."
21
- (options[:after] && !options[:after].is_a?(Time)) and raise ArgumentError,
22
- "Option :after should be an instance of Time, received: #{options[:after].inspect}"
23
-
24
- options[:after] = (options[:after].to_i * 1000) if options[:after]
25
-
26
- api = Api::Request.new do |request|
27
- request[:access] = access
28
- request[:method] = :GET
29
- request[:path] = "/ant/{{client_id}}/annotations/#{annotation.guid}/replies"
30
- end
31
- api.add_params(options)
32
- json = api.execute!
33
-
34
- json[:replies].map do |reply|
35
- reply.merge!(:annotation => annotation)
36
- Document::Annotation::Reply.new(reply)
37
- end
38
- end
39
-
40
- # @attr [GroupDocs::Document::Annotation] annotation
41
- attr_accessor :annotation
42
- # @attr [String] text
43
- attr_accessor :text
44
- # @attr [String] guid
45
- attr_accessor :guid
46
- # @attr [String] annotationGuid
47
- attr_accessor :annotationGuid
48
- # @attr [String] userGuid
49
- attr_accessor :userGuid
50
- # @attr [String] userName
51
- attr_accessor :userName
52
- # @attr [Time] repliedOn
53
- attr_accessor :repliedOn
54
-
55
- # added in release 1.5.8
56
- # @attr [String] parentReplyGuid
57
- attr_accessor :parentReplyGuid
58
- # @attr [Boolean] isAvatarExist
59
- attr_accessor :isAvatarExist
60
-
61
- # added in release 1.6.0
62
- # @attr [String] userEmail
63
- attr_accessor :userEmail
64
-
65
-
66
- # Human-readable accessors
67
- alias_accessor :annotation_guid, :annotationGuid
68
- alias_accessor :user_guid, :userGuid
69
- alias_accessor :user_name, :userName
70
- alias_accessor :replied_on, :repliedOn
71
- # added in release 1.5.8
72
- alias_accessor :parent_reply_guid, :parentReplyGuid
73
- alias_accessor :is_avatar_exist, :isAvatarExist
74
- # added in release 1.6.0
75
- alias_accessor :user_email, :userEmail
76
-
77
- #
78
- # Creates new GroupDocs::Document::Annotation.
79
- #
80
- # @raise [ArgumentError] If annotation is not passed or is not an instance of GroupDocs::Document::Annotation
81
- #
82
- def initialize(options = {}, &blk)
83
- super(options, &blk)
84
- annotation.is_a?(GroupDocs::Document::Annotation) or raise ArgumentError,
85
- "You have to pass GroupDocs::Document::Annotation object: #{annotation.inspect}."
86
- end
87
-
88
- #
89
- # Converts timestamp which is return by API server to Time object.
90
- #
91
- # @return [Time]
92
- #
93
- def replied_on
94
- Time.at(@repliedOn / 1000)
95
- end
96
-
97
- #
98
- # Creates reply.
99
- #
100
- # @example
101
- # document = GroupDocs::Storage::Folder.list!.first.to_document
102
- # annotation = document.annotations!.first
103
- # reply = GroupDocs::Document::Annotation::Reply.new(annotation: annotation)
104
- # reply.text = "Reply text"
105
- # reply.create!
106
- #
107
- # @param [Hash] access Access credentials
108
- # @option access [String] :client_id
109
- # @option access [String] :private_key
110
- #
111
- def create!(access = {})
112
- json = Api::Request.new do |request|
113
- request[:access] = access
114
- request[:method] = :POST
115
- request[:path] = "/ant/{{client_id}}/annotations/#{get_annotation_guid}/replies"
116
- request[:request_body] = { :text => text }
117
- end.execute!
118
-
119
- self.guid = json[:replyGuid]
120
- self.annotation_guid = json[:annotationGuid]
121
- end
122
-
123
- #
124
- # Edits reply.
125
- #
126
- # @example
127
- # document = GroupDocs::Storage::Folder.list!.first.to_document
128
- # annotation = document.annotations!.first
129
- # reply = annotation.replies!.first
130
- # reply.text = "New reply text"
131
- # reply.edit!
132
- #
133
- # @param [Hash] access Access credentials
134
- # @option access [String] :client_id
135
- # @option access [String] :private_key
136
- #
137
- def edit!(access = {})
138
- Api::Request.new do |request|
139
- request[:access] = access
140
- request[:method] = :PUT
141
- request[:path] = "/ant/{{client_id}}/replies/#{guid}"
142
- request[:request_body] = text
143
- end.execute!
144
- end
145
-
146
- #
147
- # Removes reply.
148
- #
149
- # @param [Hash] access Access credentials
150
- # @option access [String] :client_id
151
- # @option access [String] :private_key
152
- #
153
- def remove!(access = {})
154
- Api::Request.new do |request|
155
- request[:access] = access
156
- request[:method] = :DELETE
157
- request[:path] = "/ant/{{client_id}}/replies/#{guid}"
158
- end.execute!
159
- end
160
-
161
- private
162
-
163
- #
164
- # Returns annotation guid.
165
- #
166
- # @return [String]
167
- #
168
- def get_annotation_guid
169
- annotation_guid || annotation.guid
170
- end
171
-
172
- end # Document::Annotation::Reply
173
- end # GroupDocs
1
+ module GroupDocs
2
+ class Document::Annotation::Reply < Api::Entity
3
+
4
+ #
5
+ # Return an array of replies for given annotation.
6
+ #
7
+ # @param [GroupDocs::Document::Annotation] annotation
8
+ # @param [Hash] options
9
+ # @option options [Time] :after
10
+ # @param [Hash] access Access credentials
11
+ # @option access [String] :client_id
12
+ # @option access [String] :private_key
13
+ # @return [Array<GroupDocs::Document::Annotation::Reply>]
14
+ #
15
+ # @raise [ArgumentError] If annotation is not passed or is not an instance of GroupDocs::Document::Annotation
16
+ # @raise [ArgumentError] If :after option is passed but it's not an instance of Time
17
+ #
18
+ def self.get!(annotation, options = {}, access = {})
19
+ annotation.is_a?(GroupDocs::Document::Annotation) or raise ArgumentError,
20
+ "You have to pass GroupDocs::Document::Annotation object: #{annotation.inspect}."
21
+ (options[:after] && !options[:after].is_a?(Time)) and raise ArgumentError,
22
+ "Option :after should be an instance of Time, received: #{options[:after].inspect}"
23
+
24
+ options[:after] = (options[:after].to_i * 1000) if options[:after]
25
+
26
+ api = Api::Request.new do |request|
27
+ request[:access] = access
28
+ request[:method] = :GET
29
+ request[:path] = "/ant/{{client_id}}/annotations/#{annotation.guid}/replies"
30
+ end
31
+ api.add_params(options)
32
+ json = api.execute!
33
+
34
+ json[:replies].map do |reply|
35
+ reply.merge!(:annotation => annotation)
36
+ Document::Annotation::Reply.new(reply)
37
+ end
38
+ end
39
+
40
+ # @attr [GroupDocs::Document::Annotation] annotation
41
+ attr_accessor :annotation
42
+ # @attr [String] text
43
+ attr_accessor :text
44
+ # @attr [String] guid
45
+ attr_accessor :guid
46
+ # @attr [String] annotationGuid
47
+ attr_accessor :annotationGuid
48
+ # @attr [String] userGuid
49
+ attr_accessor :userGuid
50
+ # @attr [String] userName
51
+ attr_accessor :userName
52
+ # @attr [Time] repliedOn
53
+ attr_accessor :repliedOn
54
+
55
+ # added in release 1.5.8
56
+ # @attr [String] parentReplyGuid
57
+ attr_accessor :parentReplyGuid
58
+ # @attr [Boolean] isAvatarExist
59
+ attr_accessor :isAvatarExist
60
+
61
+ # added in release 1.6.0
62
+ # @attr [String] userEmail
63
+ attr_accessor :userEmail
64
+
65
+
66
+ # Human-readable accessors
67
+ alias_accessor :annotation_guid, :annotationGuid
68
+ alias_accessor :user_guid, :userGuid
69
+ alias_accessor :user_name, :userName
70
+ alias_accessor :replied_on, :repliedOn
71
+ # added in release 1.5.8
72
+ alias_accessor :parent_reply_guid, :parentReplyGuid
73
+ alias_accessor :is_avatar_exist, :isAvatarExist
74
+ # added in release 1.6.0
75
+ alias_accessor :user_email, :userEmail
76
+
77
+ #
78
+ # Creates new GroupDocs::Document::Annotation.
79
+ #
80
+ # @raise [ArgumentError] If annotation is not passed or is not an instance of GroupDocs::Document::Annotation
81
+ #
82
+ def initialize(options = {}, &blk)
83
+ super(options, &blk)
84
+ annotation.is_a?(GroupDocs::Document::Annotation) or raise ArgumentError,
85
+ "You have to pass GroupDocs::Document::Annotation object: #{annotation.inspect}."
86
+ end
87
+
88
+ #
89
+ # Converts timestamp which is return by API server to Time object.
90
+ #
91
+ # @return [Time]
92
+ #
93
+ def replied_on
94
+ Time.at(@repliedOn / 1000)
95
+ end
96
+
97
+ #
98
+ # Creates reply.
99
+ #
100
+ # @example
101
+ # document = GroupDocs::Storage::Folder.list!.first.to_document
102
+ # annotation = document.annotations!.first
103
+ # reply = GroupDocs::Document::Annotation::Reply.new(annotation: annotation)
104
+ # reply.text = "Reply text"
105
+ # reply.create!
106
+ #
107
+ # @param [Hash] access Access credentials
108
+ # @option access [String] :client_id
109
+ # @option access [String] :private_key
110
+ #
111
+ def create!(access = {})
112
+ json = Api::Request.new do |request|
113
+ request[:access] = access
114
+ request[:method] = :POST
115
+ request[:path] = "/ant/{{client_id}}/annotations/#{get_annotation_guid}/replies"
116
+ request[:request_body] = { :text => text }
117
+ end.execute!
118
+
119
+ self.guid = json[:replyGuid]
120
+ self.annotation_guid = json[:annotationGuid]
121
+ end
122
+
123
+ #
124
+ # Edits reply.
125
+ #
126
+ # @example
127
+ # document = GroupDocs::Storage::Folder.list!.first.to_document
128
+ # annotation = document.annotations!.first
129
+ # reply = annotation.replies!.first
130
+ # reply.text = "New reply text"
131
+ # reply.edit!
132
+ #
133
+ # @param [Hash] access Access credentials
134
+ # @option access [String] :client_id
135
+ # @option access [String] :private_key
136
+ #
137
+ def edit!(access = {})
138
+ Api::Request.new do |request|
139
+ request[:access] = access
140
+ request[:method] = :PUT
141
+ request[:path] = "/ant/{{client_id}}/replies/#{guid}"
142
+ request[:request_body] = text
143
+ end.execute!
144
+ end
145
+
146
+ #
147
+ # Removes reply.
148
+ #
149
+ # @param [Hash] access Access credentials
150
+ # @option access [String] :client_id
151
+ # @option access [String] :private_key
152
+ #
153
+ def remove!(access = {})
154
+ Api::Request.new do |request|
155
+ request[:access] = access
156
+ request[:method] = :DELETE
157
+ request[:path] = "/ant/{{client_id}}/replies/#{guid}"
158
+ end.execute!
159
+ end
160
+
161
+ private
162
+
163
+ #
164
+ # Returns annotation guid.
165
+ #
166
+ # @return [String]
167
+ #
168
+ def get_annotation_guid
169
+ annotation_guid || annotation.guid
170
+ end
171
+
172
+ end # Document::Annotation::Reply
173
+ end # GroupDocs
@@ -1,66 +1,66 @@
1
- module GroupDocs
2
- class Document::Annotation::Reviewer < Api::Entity
3
-
4
- #
5
- # Returns all reviewer contacts.
6
- #
7
- # @param [Hash] access Access credentials
8
- # @option access [String] :client_id
9
- # @option access [String] :private_key
10
- # @return [Array<GroupDocs::Document::Annotation::Reviewer>]
11
- #
12
- def self.all!(access = {})
13
- json = Api::Request.new do |request|
14
- request[:access] = access
15
- request[:method] = :GET
16
- request[:path] = '/ant/{{client_id}}/contacts'
17
- end.execute!
18
-
19
- json[:reviewerContacts].map do |reviewer|
20
- new(reviewer)
21
- end
22
- end
23
-
24
- #
25
- # Sets reviewer contacts to passed array.
26
- #
27
- # Please, note that it removes existing reviewer contacts.
28
- #
29
- # @example Add new reviewer contact
30
- # reviewers = GroupDocs::Document::Annotation::Reviewer.all!
31
- # reviewers << GroupDocs::Document::Annotation::Reviewer.new(full_name: 'John Smith', email_address: 'john@smith.com')
32
- # GroupDocs::Document::Annotation::Reviewer.set! reviewers
33
- #
34
- # @param [Array<GroupDocs::Document::Annotation::Reviewer>] reviewers
35
- # @param [Hash] access Access credentials
36
- # @option access [String] :client_id
37
- # @option access [String] :private_key
38
- #
39
- def self.set!(reviewers, access = {})
40
- Api::Request.new do |request|
41
- request[:access] = access
42
- request[:method] = :PUT
43
- request[:path] = '/ant/{{client_id}}/reviewerContacts'
44
- request[:request_body] = reviewers.each.map(&:to_hash)
45
- end.execute!
46
- end
47
-
48
- # @attr [String] emailAddress
49
- attr_accessor :emailAddress
50
- # @attr [String] FullName
51
- #attr_accessor :FullName
52
-
53
- # Added in release 2.1.0
54
- # @attr [String] firstName
55
- attr_accessor :firstName
56
- # @attr [String] lastName
57
- attr_accessor :lastName
58
-
59
- # Human-readable accessors
60
- alias_accessor :email_address, :emailAddress
61
- #alias_accessor :full_name, :FullName
62
- alias_accessor :first_name, :firstName
63
- alias_accessor :last_name, :lastName
64
-
65
- end # Document::Annotation::Reviewer
66
- end # GroupDocs
1
+ module GroupDocs
2
+ class Document::Annotation::Reviewer < Api::Entity
3
+
4
+ #
5
+ # Returns all reviewer contacts.
6
+ #
7
+ # @param [Hash] access Access credentials
8
+ # @option access [String] :client_id
9
+ # @option access [String] :private_key
10
+ # @return [Array<GroupDocs::Document::Annotation::Reviewer>]
11
+ #
12
+ def self.all!(access = {})
13
+ json = Api::Request.new do |request|
14
+ request[:access] = access
15
+ request[:method] = :GET
16
+ request[:path] = '/ant/{{client_id}}/contacts'
17
+ end.execute!
18
+
19
+ json[:reviewerContacts].map do |reviewer|
20
+ new(reviewer)
21
+ end
22
+ end
23
+
24
+ #
25
+ # Sets reviewer contacts to passed array.
26
+ #
27
+ # Please, note that it removes existing reviewer contacts.
28
+ #
29
+ # @example Add new reviewer contact
30
+ # reviewers = GroupDocs::Document::Annotation::Reviewer.all!
31
+ # reviewers << GroupDocs::Document::Annotation::Reviewer.new(full_name: 'John Smith', email_address: 'john@smith.com')
32
+ # GroupDocs::Document::Annotation::Reviewer.set! reviewers
33
+ #
34
+ # @param [Array<GroupDocs::Document::Annotation::Reviewer>] reviewers
35
+ # @param [Hash] access Access credentials
36
+ # @option access [String] :client_id
37
+ # @option access [String] :private_key
38
+ #
39
+ def self.set!(reviewers, access = {})
40
+ Api::Request.new do |request|
41
+ request[:access] = access
42
+ request[:method] = :PUT
43
+ request[:path] = '/ant/{{client_id}}/reviewerContacts'
44
+ request[:request_body] = reviewers.each.map(&:to_hash)
45
+ end.execute!
46
+ end
47
+
48
+ # @attr [String] emailAddress
49
+ attr_accessor :emailAddress
50
+ # @attr [String] FullName
51
+ #attr_accessor :FullName
52
+
53
+ # Added in release 2.1.0
54
+ # @attr [String] firstName
55
+ attr_accessor :firstName
56
+ # @attr [String] lastName
57
+ attr_accessor :lastName
58
+
59
+ # Human-readable accessors
60
+ alias_accessor :email_address, :emailAddress
61
+ #alias_accessor :full_name, :FullName
62
+ alias_accessor :first_name, :firstName
63
+ alias_accessor :last_name, :lastName
64
+
65
+ end # Document::Annotation::Reviewer
66
+ end # GroupDocs