groupdocs 0.3.11 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. data/CHANGELOG.md +150 -0
  2. data/README.md +6 -58
  3. data/Rakefile +1 -1
  4. data/examples/README.md +13 -0
  5. data/examples/annotations/Gemfile +5 -0
  6. data/examples/annotations/app.rb +67 -0
  7. data/groupdocs.gemspec +3 -3
  8. data/lib/groupdocs.rb +11 -2
  9. data/lib/groupdocs/api/entity.rb +17 -1
  10. data/lib/groupdocs/api/helpers/path_helper.rb +10 -10
  11. data/lib/groupdocs/api/helpers/rest_helper.rb +7 -2
  12. data/lib/groupdocs/api/helpers/url_helper.rb +2 -4
  13. data/lib/groupdocs/api/request.rb +2 -4
  14. data/lib/groupdocs/datasource.rb +2 -2
  15. data/lib/groupdocs/datasource/field.rb +1 -1
  16. data/lib/groupdocs/document.rb +6 -18
  17. data/lib/groupdocs/document/annotation.rb +25 -2
  18. data/lib/groupdocs/document/annotation/reply.rb +6 -10
  19. data/lib/groupdocs/document/change.rb +1 -1
  20. data/lib/groupdocs/document/field.rb +1 -1
  21. data/lib/groupdocs/document/metadata.rb +1 -1
  22. data/lib/groupdocs/document/rectangle.rb +1 -1
  23. data/lib/groupdocs/document/view.rb +1 -1
  24. data/lib/groupdocs/job.rb +51 -8
  25. data/lib/groupdocs/questionnaire.rb +2 -2
  26. data/lib/groupdocs/questionnaire/execution.rb +1 -1
  27. data/lib/groupdocs/questionnaire/page.rb +1 -1
  28. data/lib/groupdocs/questionnaire/question.rb +1 -1
  29. data/lib/groupdocs/questionnaire/question/answer.rb +1 -1
  30. data/lib/groupdocs/signature.rb +134 -0
  31. data/lib/groupdocs/signature/contact.rb +141 -0
  32. data/lib/groupdocs/signature/envelope.rb +376 -0
  33. data/lib/groupdocs/signature/envelope/log.rb +22 -0
  34. data/lib/groupdocs/signature/field.rb +253 -0
  35. data/lib/groupdocs/signature/field/location.rb +72 -0
  36. data/lib/groupdocs/signature/form.rb +202 -0
  37. data/lib/groupdocs/signature/list.rb +93 -0
  38. data/lib/groupdocs/signature/recipient.rb +47 -0
  39. data/lib/groupdocs/signature/role.rb +84 -0
  40. data/lib/groupdocs/signature/shared.rb +6 -0
  41. data/lib/groupdocs/signature/shared/document_methods.rb +98 -0
  42. data/lib/groupdocs/signature/shared/entity_fields.rb +94 -0
  43. data/lib/groupdocs/signature/shared/entity_methods.rb +145 -0
  44. data/lib/groupdocs/signature/shared/field_methods.rb +282 -0
  45. data/lib/groupdocs/signature/shared/recipient_methods.rb +63 -0
  46. data/lib/groupdocs/signature/shared/resource_methods.rb +65 -0
  47. data/lib/groupdocs/signature/template.rb +104 -0
  48. data/lib/groupdocs/storage/file.rb +69 -62
  49. data/lib/groupdocs/storage/folder.rb +54 -88
  50. data/lib/groupdocs/storage/package.rb +1 -1
  51. data/lib/groupdocs/subscription.rb +113 -0
  52. data/lib/groupdocs/subscription/limit.rb +24 -0
  53. data/lib/groupdocs/user.rb +22 -2
  54. data/lib/groupdocs/version.rb +1 -1
  55. data/spec/groupdocs/api/entity_spec.rb +14 -0
  56. data/spec/groupdocs/api/helpers/path_helper_spec.rb +6 -19
  57. data/spec/groupdocs/api/helpers/rest_helper_spec.rb +9 -0
  58. data/spec/groupdocs/api/request_spec.rb +2 -7
  59. data/spec/groupdocs/datasource_spec.rb +3 -7
  60. data/spec/groupdocs/document/annotation/reply_spec.rb +11 -20
  61. data/spec/groupdocs/document/annotation_spec.rb +35 -31
  62. data/spec/groupdocs/document/field_spec.rb +1 -4
  63. data/spec/groupdocs/document/rectangle_spec.rb +10 -22
  64. data/spec/groupdocs/document_spec.rb +7 -27
  65. data/spec/groupdocs/job_spec.rb +43 -0
  66. data/spec/groupdocs/questionnaire/question_spec.rb +2 -6
  67. data/spec/groupdocs/questionnaire_spec.rb +3 -7
  68. data/spec/groupdocs/signature/contact_spec.rb +129 -0
  69. data/spec/groupdocs/signature/envelope/log_spec.rb +23 -0
  70. data/spec/groupdocs/signature/envelope_spec.rb +296 -0
  71. data/spec/groupdocs/signature/field/location_spec.rb +73 -0
  72. data/spec/groupdocs/signature/field_spec.rb +264 -0
  73. data/spec/groupdocs/signature/form_spec.rb +174 -0
  74. data/spec/groupdocs/signature/list_spec.rb +92 -0
  75. data/spec/groupdocs/signature/recipient_spec.rb +37 -0
  76. data/spec/groupdocs/signature/role_spec.rb +100 -0
  77. data/spec/groupdocs/signature/template_spec.rb +82 -0
  78. data/spec/groupdocs/signature_spec.rb +117 -0
  79. data/spec/groupdocs/storage/file_spec.rb +76 -61
  80. data/spec/groupdocs/storage/folder_spec.rb +43 -90
  81. data/spec/groupdocs/storage/package_spec.rb +1 -2
  82. data/spec/groupdocs/subscription/limit_spec.rb +24 -0
  83. data/spec/groupdocs/subscription_spec.rb +85 -0
  84. data/spec/groupdocs/user_spec.rb +27 -18
  85. data/spec/groupdocs_spec.rb +11 -0
  86. data/spec/spec_helper.rb +10 -1
  87. data/spec/support/files/envelope.zip +0 -0
  88. data/spec/support/json/annotation_access_set.json +11 -0
  89. data/spec/support/json/contact_add.json +12 -0
  90. data/spec/support/json/contacts_get.json +19 -0
  91. data/spec/support/json/contacts_import.json +8 -0
  92. data/spec/support/json/envelope_get.json +46 -0
  93. data/spec/support/json/envelope_logs.json +16 -0
  94. data/spec/support/json/envelopes_all.json +48 -0
  95. data/spec/support/json/envelopes_resources.json +31 -0
  96. data/spec/support/json/form_get.json +21 -0
  97. data/spec/support/json/forms_all.json +23 -0
  98. data/spec/support/json/job_get.json +30 -0
  99. data/spec/support/json/list_add.json +12 -0
  100. data/spec/support/json/lists_get.json +19 -0
  101. data/spec/support/json/signature_create.json +12 -0
  102. data/spec/support/json/signature_field_add.json +25 -0
  103. data/spec/support/json/signature_fields_get.json +27 -0
  104. data/spec/support/json/signature_roles_get.json +17 -0
  105. data/spec/support/json/signatures_get.json +19 -0
  106. data/spec/support/json/subscription_plan_get.json +9 -0
  107. data/spec/support/json/subscription_plans_get.json +17 -0
  108. data/spec/support/json/template_get.json +35 -0
  109. data/spec/support/json/template_get_documents.json +15 -0
  110. data/spec/support/json/template_get_recipients.json +20 -0
  111. data/spec/support/json/templates_all.json +37 -0
  112. data/spec/support/json/user_users_get.json +27 -0
  113. data/spec/support/shared_examples/signature/shared/document_methods.rb +68 -0
  114. data/spec/support/shared_examples/signature/shared/entity_fields.rb +89 -0
  115. data/spec/support/shared_examples/signature/shared/entity_methods.rb +116 -0
  116. data/spec/support/shared_examples/signature/shared/field_methods.rb +188 -0
  117. data/spec/support/shared_examples/signature/shared/recipient_methods.rb +42 -0
  118. data/spec/support/shared_examples/signature/shared/resource_methods.rb +46 -0
  119. metadata +139 -29
  120. data/lib/groupdocs/extensions.rb +0 -1
  121. data/lib/groupdocs/extensions/lookup.rb +0 -52
  122. data/spec/support/shared_examples/extensions/lookup.rb +0 -57
@@ -1,3 +1,6 @@
1
+ require 'json'
2
+ require 'rest-client'
3
+
1
4
  module GroupDocs
2
5
  module Api
3
6
  module Helpers
@@ -25,8 +28,10 @@ module GroupDocs
25
28
  options[:method] = options[:method].downcase.to_sym
26
29
 
27
30
  if options[:request_body] && !options[:request_body].is_a?(Object::File)
28
- options[:request_body] = options[:request_body].to_json
29
- options[:headers][:content_type]= 'application/json'
31
+ unless options[:plain]
32
+ options[:request_body] = options[:request_body].to_json
33
+ options[:headers][:content_type]= 'application/json'
34
+ end
30
35
  options[:headers][:content_length] = options[:request_body].length
31
36
  end
32
37
  end
@@ -1,5 +1,4 @@
1
1
  require 'base64'
2
- require 'hmac-sha1'
3
2
  require 'uri'
4
3
  require 'cgi'
5
4
 
@@ -56,9 +55,8 @@ module GroupDocs
56
55
  #
57
56
  def sign_url
58
57
  # calculate a hash of the path with private key
59
- hash = HMAC::SHA1.new(private_key)
60
- hash << options[:path]
61
- hash = hash.digest
58
+ hash = OpenSSL::Digest::Digest.new('sha1')
59
+ hash = OpenSSL::HMAC.digest(hash, private_key, options[:path])
62
60
  # convert hash to base64
63
61
  hash = Base64.strict_encode64(hash)
64
62
  # remove trailing '='
@@ -1,4 +1,3 @@
1
- require 'json'
2
1
  require 'groupdocs/api/helpers'
3
2
 
4
3
  module GroupDocs
@@ -32,7 +31,8 @@ module GroupDocs
32
31
  # @option options [String] :path Path to send request to
33
32
  # @option options [Hash] :headers Additional HTTP headers
34
33
  # @option options [Hash] :access Access credentials hash
35
- # @option options [Hash, File] :request_body Payload. If hash, will be converted to JSON, if File, will be send as is.
34
+ # @option options [Hash, String, Array, File] :request_body payload
35
+ # @option options [Boolean] :plain Send payload as plain text (i.e. do not convert to JSON)
36
36
  #
37
37
  # @yieldparam [Hash] options
38
38
  #
@@ -47,7 +47,6 @@ module GroupDocs
47
47
  # Executes API request to server.
48
48
  #
49
49
  # It performs the following actions step by step:
50
- # * Normalizes path (i.e. replace // with /)
51
50
  # * Parses path (i.e. replaces client ID)
52
51
  # * Prepends path with version if it's set
53
52
  # * URL encodes path
@@ -59,7 +58,6 @@ module GroupDocs
59
58
  # @return [Hash, String] Parsed response
60
59
  #
61
60
  def execute!
62
- normalize_path
63
61
  parse_path
64
62
  prepend_version
65
63
  url_encode_path
@@ -1,5 +1,5 @@
1
1
  module GroupDocs
2
- class DataSource < GroupDocs::Api::Entity
2
+ class DataSource < Api::Entity
3
3
 
4
4
  require 'groupdocs/datasource/field'
5
5
 
@@ -153,7 +153,7 @@ module GroupDocs
153
153
  request[:method] = :DELETE
154
154
  request[:path] = "/merge/{{client_id}}/datasources/#{id}"
155
155
  end.execute!
156
- # TODO: fix this in API
156
+ # TODO: fix this in API - http://scotland.groupdocs.com/jira/browse/CORE-387
157
157
  rescue RestClient::BadRequest
158
158
  nil
159
159
  end
@@ -1,5 +1,5 @@
1
1
  module GroupDocs
2
- class DataSource::Field < GroupDocs::Api::Entity
2
+ class DataSource::Field < Api::Entity
3
3
 
4
4
  # @attr [String] name
5
5
  attr_accessor :name
@@ -1,5 +1,5 @@
1
1
  module GroupDocs
2
- class Document < GroupDocs::Api::Entity
2
+ class Document < Api::Entity
3
3
 
4
4
  require 'groupdocs/document/annotation'
5
5
  require 'groupdocs/document/change'
@@ -15,23 +15,9 @@ module GroupDocs
15
15
  public: 3,
16
16
  }
17
17
 
18
- extend Extensions::Lookup
19
18
  include Api::Helpers::AccessMode
20
19
  include Api::Helpers::Status
21
20
 
22
- #
23
- # Returns an array of all documents on server.
24
- #
25
- # @param [String] path Starting path to look for documents
26
- # @param [Hash] access Access credentials
27
- # @option access [String] :client_id
28
- # @option access [String] :private_key
29
- # @return [Array<GroupDocs::Storage::Document>]
30
- #
31
- def self.all!(path = '/', access = {})
32
- Storage::File.all!(path, access).map(&:to_document)
33
- end
34
-
35
21
  #
36
22
  # Returns an array of views for all documents.
37
23
  #
@@ -67,6 +53,8 @@ module GroupDocs
67
53
  attr_accessor :output_formats
68
54
  # @attr [Symbol] status
69
55
  attr_accessor :status
56
+ # @attr [Integet] order
57
+ attr_accessor :order
70
58
 
71
59
  #
72
60
  # Coverts passed array of attributes hash to array of GroupDocs::Storage::File.
@@ -303,7 +291,7 @@ module GroupDocs
303
291
  # Converts document to given format.
304
292
  #
305
293
  # @example
306
- # document = GroupDocs::Document.find!(:name, 'CV.doc')
294
+ # document = GroupDocs::Storage::Folder.list!.first.to_document
307
295
  # job = document.convert!(:docx)
308
296
  # sleep(5) # wait for server to finish converting
309
297
  # original_document = job.documents!.first
@@ -522,8 +510,8 @@ module GroupDocs
522
510
  # Returns an array of changes in document.
523
511
  #
524
512
  # @example
525
- # document_one = GroupDocs::Document.find!(:name, 'CV.doc')
526
- # document_two = GroupDocs::Document.find!(:name, 'Resume.doc')
513
+ # document_one = GroupDocs::Storage::Folder.list![0].to_document
514
+ # document_two = GroupDocs::Storage::Folder.list![1].to_document
527
515
  # job = document_one.compare!(document_two)
528
516
  # sleep(5) # wait for server to finish comparing
529
517
  # result = job.documents!.first
@@ -1,5 +1,5 @@
1
1
  module GroupDocs
2
- class Document::Annotation < GroupDocs::Api::Entity
2
+ class Document::Annotation < Api::Entity
3
3
 
4
4
  require 'groupdocs/document/annotation/reply'
5
5
 
@@ -17,6 +17,8 @@ module GroupDocs
17
17
  attr_accessor :sessionGuid
18
18
  # @attr [String] documentGuid
19
19
  attr_accessor :documentGuid
20
+ # @attr [String] creatorGuid
21
+ attr_accessor :creatorGuid
20
22
  # @attr [String] replyGuid
21
23
  attr_accessor :replyGuid
22
24
  # @attr [Time] createdOn
@@ -40,6 +42,8 @@ module GroupDocs
40
42
  alias_method :session_guid=, :sessionGuid=
41
43
  alias_method :document_guid, :documentGuid
42
44
  alias_method :document_guid=, :documentGuid=
45
+ alias_method :creator_guid, :creatorGuid
46
+ alias_method :creator_guid=, :creatorGuid=
43
47
  alias_method :reply_guid, :replyGuid
44
48
  alias_method :reply_guid=, :replyGuid=
45
49
  alias_method :created_on, :createdOn
@@ -156,7 +160,7 @@ module GroupDocs
156
160
  # Creates new annotation.
157
161
  #
158
162
  # @example
159
- # document = GroupDocs::Document.find!(:name, 'CV.doc')
163
+ # document = GroupDocs::Storage::Folder.list!.first.to_document
160
164
  # annotation = GroupDocs::Document::Annotation.new(document: document)
161
165
  # annotation.create!
162
166
  #
@@ -272,5 +276,24 @@ module GroupDocs
272
276
  self.annotation_position = { x: x, y: y }
273
277
  end
274
278
 
279
+ #
280
+ # Sets access mode.
281
+ #
282
+ # @param [Symbol] mode
283
+ # @param [Hash] access Access credentials
284
+ # @option access [String] :client_id
285
+ # @option access [String] :private_key
286
+ #
287
+ def set_access!(mode, access = {})
288
+ Api::Request.new do |request|
289
+ request[:access] = access
290
+ request[:method] = :PUT
291
+ request[:path] = "/ant/{{client_id}}/annotations/#{guid}/annotationAccess"
292
+ request[:request_body] = %w(public private).index(mode.to_s)
293
+ end.execute!
294
+
295
+ self.access = mode
296
+ end
297
+
275
298
  end # Document::Annotation
276
299
  end # GroupDocs
@@ -1,5 +1,5 @@
1
1
  module GroupDocs
2
- class Document::Annotation::Reply < GroupDocs::Api::Entity
2
+ class Document::Annotation::Reply < Api::Entity
3
3
 
4
4
  #
5
5
  # Return an array of replies for given annotation.
@@ -88,8 +88,8 @@ module GroupDocs
88
88
  # Creates reply.
89
89
  #
90
90
  # @example
91
- # document = GroupDocs::Document.find!(:name, 'CV.doc')
92
- # annotation = GroupDocs::Document::Annotation.new(document: document)
91
+ # document = GroupDocs::Storage::Folder.list!.first.to_document
92
+ # annotation = document.annotations!.first
93
93
  # reply = GroupDocs::Document::Annotation::Reply.new(annotation: annotation)
94
94
  # reply.text = "Reply text"
95
95
  # reply.create!
@@ -98,14 +98,12 @@ module GroupDocs
98
98
  # @option access [String] :client_id
99
99
  # @option access [String] :private_key
100
100
  #
101
- # @raise [NameError] if annotation or annotation_guid are not set
102
- #
103
101
  def create!(access = {})
104
102
  json = Api::Request.new do |request|
105
103
  request[:access] = access
106
104
  request[:method] = :POST
107
105
  request[:path] = "/ant/{{client_id}}/annotations/#{get_annotation_guid}/replies"
108
- request[:request_body] = text
106
+ request[:request_body] = { text: text }
109
107
  end.execute!
110
108
 
111
109
  self.guid = json[:replyGuid]
@@ -116,7 +114,7 @@ module GroupDocs
116
114
  # Edits reply.
117
115
  #
118
116
  # @example
119
- # document = GroupDocs::Document.find!(:name, 'CV.doc')
117
+ # document = GroupDocs::Storage::Folder.list!.first.to_document
120
118
  # annotation = document.annotations!.first
121
119
  # reply = annotation.replies!.first
122
120
  # reply.text = "New reply text"
@@ -142,8 +140,6 @@ module GroupDocs
142
140
  # @option access [String] :client_id
143
141
  # @option access [String] :private_key
144
142
  #
145
- # @todo currently not implemented in API
146
- #
147
143
  def remove!(access = {})
148
144
  Api::Request.new do |request|
149
145
  request[:access] = access
@@ -157,7 +153,7 @@ module GroupDocs
157
153
  #
158
154
  # Returns annotation guid.
159
155
  #
160
- # @returns [String]
156
+ # @return [String]
161
157
  #
162
158
  def get_annotation_guid
163
159
  annotation_guid || annotation.guid
@@ -1,5 +1,5 @@
1
1
  module GroupDocs
2
- class Document::Change < GroupDocs::Api::Entity
2
+ class Document::Change < Api::Entity
3
3
 
4
4
  # @attr [Integer] id
5
5
  attr_accessor :id
@@ -1,5 +1,5 @@
1
1
  module GroupDocs
2
- class Document::Field < GroupDocs::Api::Entity
2
+ class Document::Field < Api::Entity
3
3
 
4
4
  # @attr [Integer] page
5
5
  attr_accessor :page
@@ -1,5 +1,5 @@
1
1
  module GroupDocs
2
- class Document::MetaData < GroupDocs::Api::Entity
2
+ class Document::MetaData < Api::Entity
3
3
 
4
4
  # @attr [Integer] id
5
5
  attr_accessor :id
@@ -1,5 +1,5 @@
1
1
  module GroupDocs
2
- class Document::Rectangle < GroupDocs::Api::Entity
2
+ class Document::Rectangle < Api::Entity
3
3
 
4
4
  # @attr [Float] X
5
5
  attr_accessor :X
@@ -1,5 +1,5 @@
1
1
  module GroupDocs
2
- class Document::View < GroupDocs::Api::Entity
2
+ class Document::View < Api::Entity
3
3
 
4
4
  # @attr [GroupDocs::Document] document
5
5
  attr_accessor :document
data/lib/groupdocs/job.rb CHANGED
@@ -1,11 +1,11 @@
1
1
  module GroupDocs
2
- class Job < GroupDocs::Api::Entity
2
+ class Job < Api::Entity
3
3
 
4
4
  extend Api::Helpers::Actions
5
5
  include Api::Helpers::Status
6
6
 
7
7
  #
8
- # Returns array of recent jobs.
8
+ # Returns array of jobs.
9
9
  #
10
10
  # @param [Hash] options Hash of options
11
11
  # @option options [Integer] :page Page to start with
@@ -29,6 +29,25 @@ module GroupDocs
29
29
  end
30
30
  end
31
31
 
32
+ #
33
+ # Returns job by its identifier.
34
+ #
35
+ # @param [Integer] id
36
+ # @param [Hash] access Access credentials
37
+ # @option access [String] :client_id
38
+ # @option access [String] :private_key
39
+ # @return [GroupDocs::Job]
40
+ #
41
+ def self.get!(id, access = {})
42
+ json = Api::Request.new do |request|
43
+ request[:access] = access
44
+ request[:method] = :GET
45
+ request[:path] = "/async/{{client_id}}/jobs/#{id}"
46
+ end.execute!
47
+
48
+ Job.new(json)
49
+ end
50
+
32
51
  #
33
52
  # Creates new draft job.
34
53
  #
@@ -55,11 +74,17 @@ module GroupDocs
55
74
  end
56
75
  json = api.execute!
57
76
 
58
- Job.new(id: json[:job_id])
77
+ Job.new(id: json[:job_id], guid: json[:job_guid])
59
78
  end
60
79
 
61
80
  # @attr [Integer] id
62
81
  attr_accessor :id
82
+ # @attr [String] guid
83
+ attr_accessor :guid
84
+ # @attr [String] name
85
+ attr_accessor :name
86
+ # @attr [Integer] priority
87
+ attr_accessor :priority
63
88
  # @attr [Array<Symbol>] actions
64
89
  attr_accessor :actions
65
90
  # @attr [Boolean] email_results
@@ -130,9 +155,13 @@ module GroupDocs
130
155
  end.execute!
131
156
 
132
157
  self.status = json[:job_status]
133
- json[:inputs].map do |document|
134
- document.merge!(file: GroupDocs::Storage::File.new(document))
135
- Document.new(document)
158
+ if json[:inputs]
159
+ json[:inputs].map do |document|
160
+ document.merge!(file: GroupDocs::Storage::File.new(document))
161
+ Document.new(document)
162
+ end
163
+ else
164
+ []
136
165
  end
137
166
  end
138
167
 
@@ -164,6 +193,22 @@ module GroupDocs
164
193
  json[:document_id]
165
194
  end
166
195
 
196
+ #
197
+ # Deletes document with guid from job.
198
+ #
199
+ # @param [String] guid
200
+ # @param [Hash] access Access credentials
201
+ # @option access [String] :client_id
202
+ # @option access [String] :private_key
203
+ #
204
+ def delete_document!(guid, access = {})
205
+ Api::Request.new do |request|
206
+ request[:access] = access
207
+ request[:method] = :DELETE
208
+ request[:path] = "/async/{{client_id}}/jobs/#{id}/documents/#{guid}"
209
+ end.execute!
210
+ end
211
+
167
212
  #
168
213
  # Adds datasource to job document.
169
214
  #
@@ -176,8 +221,6 @@ module GroupDocs
176
221
  # @raise [ArgumentError] If document is not a GroupDocs::Document object
177
222
  # @raise [ArgumentError] If datasource is not a GroupDocs::DataSource object
178
223
  #
179
- # @todo returns 404 (http://scotland.groupdocs.com/jira/browse/CORE-384)
180
- #
181
224
  def add_datasource!(document, datasource, access = {})
182
225
  document.is_a?(GroupDocs::Document) or raise ArgumentError,
183
226
  "Document should be GroupDocs::Document object. Received: #{document.inspect}"
@@ -1,5 +1,5 @@
1
1
  module GroupDocs
2
- class Questionnaire < GroupDocs::Api::Entity
2
+ class Questionnaire < Api::Entity
3
3
 
4
4
  require 'groupdocs/questionnaire/execution'
5
5
  require 'groupdocs/questionnaire/page'
@@ -157,7 +157,7 @@ module GroupDocs
157
157
  request[:method] = :DELETE
158
158
  request[:path] = "/merge/{{client_id}}/questionnaires/#{id}"
159
159
  end.execute!
160
- # TODO: fix this in API
160
+ # TODO: fix this in API - http://scotland.groupdocs.com/jira/browse/CORE-391
161
161
  rescue RestClient::BadRequest
162
162
  nil
163
163
  end
@@ -1,5 +1,5 @@
1
1
  module GroupDocs
2
- class Questionnaire::Execution < GroupDocs::Api::Entity
2
+ class Questionnaire::Execution < Api::Entity
3
3
 
4
4
  include Api::Helpers::Status
5
5
 
@@ -1,5 +1,5 @@
1
1
  module GroupDocs
2
- class Questionnaire::Page < GroupDocs::Api::Entity
2
+ class Questionnaire::Page < Api::Entity
3
3
 
4
4
  # @attr [Integer] number
5
5
  attr_accessor :number