groupdocs 1.5.7 → 1.5.8

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 (177) hide show
  1. data/CHANGELOG.md +51 -0
  2. data/examples/api-samples/Gemfile +1 -1
  3. data/examples/api-samples/Gemfile.lock +43 -0
  4. data/examples/api-samples/public/docs/{sample2.html → sample01.html} +39 -19
  5. data/examples/api-samples/public/docs/{sample3.html → sample02.html} +28 -22
  6. data/examples/api-samples/public/docs/sample03.html +285 -0
  7. data/examples/api-samples/public/docs/{sample4.html → sample04.html} +30 -36
  8. data/examples/api-samples/public/docs/{sample5.html → sample05.html} +68 -31
  9. data/examples/api-samples/public/docs/sample06.html +299 -0
  10. data/examples/api-samples/public/docs/{sample7.html → sample07.html} +53 -18
  11. data/examples/api-samples/public/docs/{sample8.html → sample08.html} +64 -41
  12. data/examples/api-samples/public/docs/sample09.html +260 -0
  13. data/examples/api-samples/public/docs/sample10.html +67 -28
  14. data/examples/api-samples/public/docs/sample11.html +171 -55
  15. data/examples/api-samples/public/docs/sample12.html +53 -17
  16. data/examples/api-samples/public/docs/sample13.html +52 -16
  17. data/examples/api-samples/public/docs/sample14.html +51 -8
  18. data/examples/api-samples/public/docs/sample15.html +46 -10
  19. data/examples/api-samples/public/docs/sample16.html +81 -7
  20. data/examples/api-samples/public/docs/sample17.html +103 -15
  21. data/examples/api-samples/public/docs/sample18.html +117 -41
  22. data/examples/api-samples/public/docs/sample19.html +410 -36
  23. data/examples/api-samples/public/docs/sample20.html +46 -10
  24. data/examples/api-samples/public/docs/sample21.html +504 -45
  25. data/examples/api-samples/public/docs/sample22.html +166 -28
  26. data/examples/api-samples/public/docs/sample23.html +61 -25
  27. data/examples/api-samples/public/docs/sample24.html +100 -12
  28. data/examples/api-samples/public/docs/sample25.html +123 -49
  29. data/examples/api-samples/public/docs/sample26.html +41 -8
  30. data/examples/api-samples/public/docs/sample27.html +125 -50
  31. data/examples/api-samples/public/docs/sample28.html +27 -9
  32. data/examples/api-samples/public/docs/sample29.html +10 -10
  33. data/examples/api-samples/public/docs/sample30.html +70 -14
  34. data/examples/api-samples/public/docs/sample31.html +108 -67
  35. data/examples/api-samples/public/docs/sample32.html +71 -99
  36. data/examples/api-samples/public/docs/sample33.html +107 -32
  37. data/examples/api-samples/public/docs/{sample1.html → sample34.html} +58 -18
  38. data/examples/api-samples/public/docs/sample35.html +666 -0
  39. data/examples/api-samples/public/docs/{sample6.html → sample36.html} +56 -37
  40. data/examples/api-samples/public/docs/sample37.html +815 -0
  41. data/examples/api-samples/public/docs/sample38.html +508 -0
  42. data/examples/api-samples/public/docs/sample39.html +921 -0
  43. data/examples/api-samples/public/docs/sample40.html +510 -0
  44. data/examples/api-samples/public/docs/sample41.html +452 -0
  45. data/examples/api-samples/public/docs/sample42.html +311 -0
  46. data/examples/api-samples/public/templates/test_all_fields2.pdf +0 -0
  47. data/examples/api-samples/samples/sample01.rb +37 -0
  48. data/examples/api-samples/samples/sample02.rb +41 -0
  49. data/examples/api-samples/samples/sample03.rb +73 -0
  50. data/examples/api-samples/samples/sample04.rb +47 -0
  51. data/examples/api-samples/samples/{sample5.rb → sample05.rb} +26 -14
  52. data/examples/api-samples/samples/sample06.rb +80 -0
  53. data/examples/api-samples/samples/sample07.rb +52 -0
  54. data/examples/api-samples/samples/sample08.rb +69 -0
  55. data/examples/api-samples/samples/sample09.rb +83 -0
  56. data/examples/api-samples/samples/sample10.rb +29 -15
  57. data/examples/api-samples/samples/sample11.rb +89 -37
  58. data/examples/api-samples/samples/sample12.rb +22 -11
  59. data/examples/api-samples/samples/sample13.rb +22 -10
  60. data/examples/api-samples/samples/sample14.rb +23 -5
  61. data/examples/api-samples/samples/sample15.rb +18 -7
  62. data/examples/api-samples/samples/sample16.rb +28 -4
  63. data/examples/api-samples/samples/sample17.rb +31 -5
  64. data/examples/api-samples/samples/sample18.rb +36 -8
  65. data/examples/api-samples/samples/sample19.rb +138 -18
  66. data/examples/api-samples/samples/sample20.rb +14 -3
  67. data/examples/api-samples/samples/sample21.rb +162 -23
  68. data/examples/api-samples/samples/sample22.rb +73 -22
  69. data/examples/api-samples/samples/sample23.rb +17 -6
  70. data/examples/api-samples/samples/sample24.rb +34 -7
  71. data/examples/api-samples/samples/sample25.rb +37 -12
  72. data/examples/api-samples/samples/sample26.rb +12 -5
  73. data/examples/api-samples/samples/sample27.rb +38 -12
  74. data/examples/api-samples/samples/sample28.rb +25 -6
  75. data/examples/api-samples/samples/sample29.rb +12 -12
  76. data/examples/api-samples/samples/sample30.rb +27 -15
  77. data/examples/api-samples/samples/sample31.rb +44 -33
  78. data/examples/api-samples/samples/sample32.rb +43 -41
  79. data/examples/api-samples/samples/sample33.rb +42 -14
  80. data/examples/api-samples/samples/sample34.rb +40 -0
  81. data/examples/api-samples/samples/sample35.rb +224 -0
  82. data/examples/api-samples/samples/sample36.rb +58 -0
  83. data/examples/api-samples/samples/sample37.rb +229 -0
  84. data/examples/api-samples/samples/sample38.rb +128 -0
  85. data/examples/api-samples/samples/sample39.rb +252 -0
  86. data/examples/api-samples/samples/sample40.rb +164 -0
  87. data/examples/api-samples/samples/sample41.rb +118 -0
  88. data/examples/api-samples/samples/sample42.rb +97 -0
  89. data/examples/api-samples/views/_others_samples.haml +25 -11
  90. data/examples/api-samples/views/index.haml +23 -11
  91. data/examples/api-samples/views/popup.haml +32 -0
  92. data/examples/api-samples/views/{sample1.haml → sample01.haml} +12 -7
  93. data/examples/api-samples/views/{sample2.haml → sample02.haml} +20 -15
  94. data/examples/api-samples/views/sample03.haml +83 -0
  95. data/examples/api-samples/views/sample04.haml +49 -0
  96. data/examples/api-samples/views/{sample5.haml → sample05.haml} +19 -14
  97. data/examples/api-samples/views/sample06.haml +53 -0
  98. data/examples/api-samples/views/sample07.haml +47 -0
  99. data/examples/api-samples/views/{sample8.haml → sample08.haml} +17 -12
  100. data/examples/api-samples/views/{sample9.haml → sample09.haml} +19 -4
  101. data/examples/api-samples/views/sample10.haml +18 -13
  102. data/examples/api-samples/views/sample11.haml +48 -19
  103. data/examples/api-samples/views/sample12.haml +26 -21
  104. data/examples/api-samples/views/sample13.haml +18 -12
  105. data/examples/api-samples/views/sample14.haml +21 -15
  106. data/examples/api-samples/views/sample15.haml +16 -9
  107. data/examples/api-samples/views/sample16.haml +18 -5
  108. data/examples/api-samples/views/sample17.haml +14 -9
  109. data/examples/api-samples/views/sample18.haml +13 -7
  110. data/examples/api-samples/views/sample19.haml +37 -8
  111. data/examples/api-samples/views/sample20.haml +13 -8
  112. data/examples/api-samples/views/sample21.haml +71 -13
  113. data/examples/api-samples/views/sample22.haml +53 -16
  114. data/examples/api-samples/views/sample23.haml +9 -4
  115. data/examples/api-samples/views/sample24.haml +9 -4
  116. data/examples/api-samples/views/sample25.haml +18 -13
  117. data/examples/api-samples/views/sample26.haml +8 -3
  118. data/examples/api-samples/views/sample27.haml +20 -14
  119. data/examples/api-samples/views/sample28.haml +16 -10
  120. data/examples/api-samples/views/sample29.haml +4 -4
  121. data/examples/api-samples/views/sample30.haml +16 -10
  122. data/examples/api-samples/views/sample31.haml +39 -32
  123. data/examples/api-samples/views/sample32.haml +25 -36
  124. data/examples/api-samples/views/sample33.haml +14 -17
  125. data/examples/api-samples/views/sample34.haml +48 -0
  126. data/examples/api-samples/views/sample35.haml +95 -0
  127. data/examples/api-samples/views/sample36.haml +64 -0
  128. data/examples/api-samples/views/sample37.haml +124 -0
  129. data/examples/api-samples/views/sample38.haml +115 -0
  130. data/examples/api-samples/views/sample39.haml +236 -0
  131. data/examples/api-samples/views/sample40.haml +95 -0
  132. data/examples/api-samples/views/{sample4.haml → sample41.haml} +90 -72
  133. data/examples/api-samples/views/sample42.haml +59 -0
  134. data/lib/groupdocs/api/helpers/rest_helper.rb +13 -1
  135. data/lib/groupdocs/datasource.rb +2 -1
  136. data/lib/groupdocs/document.rb +101 -13
  137. data/lib/groupdocs/document/annotation.rb +28 -13
  138. data/lib/groupdocs/document/annotation/marker.rb +18 -0
  139. data/lib/groupdocs/document/annotation/reply.rb +9 -2
  140. data/lib/groupdocs/document/field.rb +5 -1
  141. data/lib/groupdocs/job.rb +12 -2
  142. data/lib/groupdocs/questionnaire.rb +174 -4
  143. data/lib/groupdocs/questionnaire/collector.rb +21 -0
  144. data/lib/groupdocs/questionnaire/question.rb +19 -0
  145. data/lib/groupdocs/questionnaire/question/answer.rb +5 -0
  146. data/lib/groupdocs/questionnaire/question/conditions.rb +20 -0
  147. data/lib/groupdocs/signature.rb +36 -308
  148. data/lib/groupdocs/signature/envelope.rb +146 -4
  149. data/lib/groupdocs/signature/field.rb +20 -1
  150. data/lib/groupdocs/signature/field/location.rb +18 -7
  151. data/lib/groupdocs/signature/form.rb +199 -10
  152. data/lib/groupdocs/signature/shared/document_methods.rb +38 -0
  153. data/lib/groupdocs/signature/shared/entity_methods.rb +0 -1
  154. data/lib/groupdocs/signature/shared/field_methods.rb +13 -38
  155. data/lib/groupdocs/signature/shared/recipient_methods.rb +8 -0
  156. data/lib/groupdocs/signature/template.rb +3 -1
  157. data/lib/groupdocs/storage.rb +4 -1
  158. data/lib/groupdocs/storage/file.rb +18 -1
  159. data/lib/groupdocs/subscription.rb +8 -3
  160. data/lib/groupdocs/user.rb +8 -0
  161. data/lib/groupdocs/version.rb +1 -1
  162. data/spec/groupdocs/document/annotation_spec.rb +1 -14
  163. data/spec/groupdocs/subscription_spec.rb +2 -2
  164. metadata +86 -32
  165. checksums.yaml +0 -15
  166. data/examples/api-samples/public/docs/sample9.html +0 -200
  167. data/examples/api-samples/samples/sample1.rb +0 -25
  168. data/examples/api-samples/samples/sample2.rb +0 -29
  169. data/examples/api-samples/samples/sample3.rb +0 -33
  170. data/examples/api-samples/samples/sample4.rb +0 -51
  171. data/examples/api-samples/samples/sample6.rb +0 -49
  172. data/examples/api-samples/samples/sample7.rb +0 -42
  173. data/examples/api-samples/samples/sample8.rb +0 -61
  174. data/examples/api-samples/samples/sample9.rb +0 -48
  175. data/examples/api-samples/views/sample3.haml +0 -44
  176. data/examples/api-samples/views/sample6.haml +0 -49
  177. data/examples/api-samples/views/sample7.haml +0 -42
@@ -0,0 +1,37 @@
1
+ # GET request
2
+ get '/sample01' do
3
+ haml :sample01
4
+ end
5
+
6
+ # POST request
7
+ post '/sample01' do
8
+ # Set variables
9
+ set :client_id, params[:clientId]
10
+ set :private_key, params[:privateKey]
11
+ set :base_path, params[:basePath]
12
+
13
+ begin
14
+
15
+ if settings.base_path.empty? then settings.base_path = 'https://api.groupdocs.com' end
16
+
17
+ # Configure your access to API server
18
+ GroupDocs.configure do |groupdocs|
19
+ groupdocs.client_id = settings.client_id
20
+ groupdocs.private_key = settings.private_key
21
+ # Optionally specify API server and version
22
+ groupdocs.api_server = settings.base_path # default is 'https://api.groupdocs.com'
23
+ end
24
+
25
+ # check required variables
26
+ raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty?
27
+
28
+ # make a request to API using client_id and private_key
29
+ user = GroupDocs::User.get!()
30
+
31
+ rescue Exception => e
32
+ err = e.message
33
+ end
34
+
35
+ # set variables for template
36
+ haml :sample01, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :user => user, :err => err}
37
+ end
@@ -0,0 +1,41 @@
1
+ # GET request
2
+ get '/sample02' do
3
+ haml :sample02
4
+ end
5
+
6
+ # POST request
7
+ post '/sample02' do
8
+ # Set variables
9
+ set :client_id, params[:clientId]
10
+ set :private_key, params[:privateKey]
11
+ set :base_path, params[:basePath]
12
+
13
+ begin
14
+
15
+ if settings.base_path.empty? then settings.base_path = 'https://api.groupdocs.com' end
16
+
17
+ # Configure your access to API server
18
+ GroupDocs.configure do |groupdocs|
19
+ groupdocs.client_id = settings.client_id
20
+ groupdocs.private_key = settings.private_key
21
+ # Optionally specify API server and version
22
+ groupdocs.api_server = settings.base_path # default is 'https://api.groupdocs.com'
23
+ end
24
+
25
+ # Check required variables
26
+ raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty?
27
+
28
+ # Make a request to API using client_id and private_key
29
+ files_list = GroupDocs::Storage::Folder.list!('/', {})
30
+
31
+ # Construct list of files
32
+ filelist = ''
33
+ files_list.each { |element| filelist << "#{element.name}<br />" }
34
+
35
+ rescue Exception => e
36
+ err = e.message
37
+ end
38
+
39
+ # Set variables for template
40
+ haml :sample02, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :filelist => filelist, :err => err}
41
+ end
@@ -0,0 +1,73 @@
1
+ # GET request
2
+ get '/sample03' do
3
+ haml :sample03
4
+ end
5
+
6
+ # POST request
7
+ post '/sample03' do
8
+ # Set variables
9
+ set :client_id, params[:clientId]
10
+ set :private_key, params[:privateKey]
11
+ set :source, params[:source]
12
+ set :url, params[:url]
13
+ set :folder_path, params[:folderPath]
14
+ set :callback, params[:callback]
15
+ set :base_path, params[:basePath]
16
+
17
+ begin
18
+ # Check required variables
19
+ raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty?
20
+
21
+ if settings.base_path.empty? then settings.base_path = 'https://api.groupdocs.com' end
22
+
23
+ # Configure your access to API server
24
+ GroupDocs.configure do |groupdocs|
25
+ groupdocs.client_id = settings.client_id
26
+ groupdocs.private_key = settings.private_key
27
+ # Optionally specify API server and version
28
+ groupdocs.api_server = settings.base_path # default is 'https://api.groupdocs.com'
29
+ end
30
+
31
+ # Get document by file GUID
32
+ case settings.source
33
+
34
+ when 'file'
35
+ # Construct path
36
+ filepath = "#{Dir.tmpdir}/#{params[:file][:filename]}"
37
+ # Open file
38
+ File.open(filepath, 'wb') { |f| f.write(params[:file][:tempfile].read) }
39
+ # Make a request to API using client_id and private_key
40
+ file = GroupDocs::Storage::File.upload!(filepath, {path: settings.folder_path, callbackUrl: settings.callback})
41
+
42
+ when 'url'
43
+
44
+ # Upload file from defined url
45
+ file = GroupDocs::Storage::File.upload_web!(settings.url)
46
+ else raise 'Wrong GUID source.'
47
+ end
48
+
49
+ #Get url from request
50
+ case settings.base_path
51
+
52
+ when 'https://stage-api-groupdocs.dynabic.com'
53
+ url = "http://stage-apps-groupdocs.dynabic.com/document-viewer/embed/#{file.guid}"
54
+ when 'https://dev-api-groupdocs.dynabic.com'
55
+ url = "http://dev-apps-groupdocs.dynabic.com/document-viewer/embed/#{file.guid}"
56
+ else
57
+ url = "https://apps.groupdocs.com/document-viewer/embed/#{file.guid}"
58
+ end
59
+
60
+
61
+ # Add the signature in url
62
+ url = GroupDocs::Api::Request.new(:path => url).prepare_and_sign_url
63
+
64
+ # Set iframe with document GUID
65
+ iframe = "<iframe src='#{url}' frameborder='0' width='720' height='600'></iframe>"
66
+
67
+ rescue Exception => e
68
+ err = e.message
69
+ end
70
+
71
+ # set variables for template
72
+ haml :sample03, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :iframe => iframe, :err => err}
73
+ end
@@ -0,0 +1,47 @@
1
+ # GET request
2
+ get '/sample04' do
3
+ haml :sample04
4
+ end
5
+
6
+ # POST request
7
+ post '/sample04' do
8
+ # Set variables
9
+ set :client_id, params[:clientId]
10
+ set :private_key, params[:privateKey]
11
+ set :file_id, params[:fileId]
12
+ set :url, params[:url]
13
+ set :base_path, params[:basePath]
14
+
15
+ begin
16
+ # Check required variables
17
+ raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty? or settings.file_id.empty?
18
+
19
+ if settings.base_path.empty? then settings.base_path = 'https://api.groupdocs.com' end
20
+
21
+ # Configure your access to API server
22
+ GroupDocs.configure do |groupdocs|
23
+ groupdocs.client_id = settings.client_id
24
+ groupdocs.private_key = settings.private_key
25
+ # Optionally specify API server and version
26
+ groupdocs.api_server = settings.base_path # default is 'https://api.groupdocs.com'
27
+ end
28
+
29
+ # Get file GUID
30
+ file = GroupDocs::Storage::File.new({:guid => settings.file_id}).to_document
31
+
32
+ # Obtaining all Metadata for file
33
+ document = file.metadata!
34
+ file = document.last_view.document.file
35
+ # Download file
36
+ dowloaded_file = file.download!("#{File.dirname(__FILE__)}/../public/downloads")
37
+ unless dowloaded_file.empty?
38
+ massage = "<font color='green'>File was downloaded to the <font color='blue'>#{dowloaded_file}</font> folder</font> <br />"
39
+ end
40
+
41
+ rescue Exception => e
42
+ err = e.message
43
+ end
44
+
45
+ # Set variables for template
46
+ haml :sample04, :locals => {:clientId => settings.client_id, :privateKey => settings.private_key, :fileId => settings.file_id, :massage => massage, :err => err}
47
+ end
@@ -1,58 +1,70 @@
1
1
  # GET request
2
- get '/sample5' do
3
- haml :sample5
2
+ get '/sample05' do
3
+ haml :sample05
4
4
  end
5
5
 
6
6
  # POST request
7
- post '/sample5' do
7
+ post '/sample05' do
8
8
  # set variables
9
- set :client_id, params[:client_id]
10
- set :private_key, params[:private_key]
11
- set :file_id, params[:fileId]
9
+ set :client_id, params[:clientId]
10
+ set :private_key, params[:privateKey]
11
+ set :file_id, params[:srcPath]
12
12
  set :url, params[:url]
13
13
  set :copy, params[:copy]
14
14
  set :move, params[:move]
15
- set :dest_path, params[:dest_path]
15
+ set :dest_path, params[:destPath]
16
16
  set :source, params[:source]
17
+ set :base_path, params[:basePath]
17
18
 
18
19
  begin
19
20
 
20
21
  # check required variables
21
22
  raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty?
22
23
 
24
+ if settings.base_path.empty? then settings.base_path = 'https://api.groupdocs.com' end
25
+
26
+ # Configure your access to API server
27
+ GroupDocs.configure do |groupdocs|
28
+ groupdocs.client_id = settings.client_id
29
+ groupdocs.private_key = settings.private_key
30
+ # Optionally specify API server and version
31
+ groupdocs.api_server = settings.base_path # default is 'https://api.groupdocs.com'
32
+ end
33
+
23
34
  file = nil
24
35
  # get document by file GUID
25
36
  case settings.source
26
37
  when 'guid'
27
- file = GroupDocs::Storage::File.new({:guid => settings.file_id})
38
+ file = GroupDocs::Storage::File.new({:guid => settings.file_id}).to_document.metadata!()
39
+ file = file.last_view.document.file
28
40
  when 'local'
29
41
  # construct path
30
42
  filepath = "#{Dir.tmpdir}/#{params[:file][:filename]}"
31
43
  # open file
32
44
  File.open(filepath, 'wb') { |f| f.write(params[:file][:tempfile].read) }
33
45
  # make a request to API using client_id and private_key
34
- file = GroupDocs::Storage::File.upload!(filepath, {}, client_id: settings.client_id, private_key: settings.private_key)
46
+ file = GroupDocs::Storage::File.upload!(filepath, {})
35
47
  when 'url'
36
- file = GroupDocs::Storage::File.upload_web!(settings.url, client_id: settings.client_id, private_key: settings.private_key)
48
+ file = GroupDocs::Storage::File.upload_web!(settings.url)
37
49
  else
38
50
  raise 'Wrong GUID source.'
39
51
  end
40
52
  # raise files_list.to_yaml
41
53
  # copy file using request to API
42
54
  unless settings.copy.nil?
43
- file = file.copy!(settings.dest_path, {}, {:client_id => settings.client_id, :private_key => settings.private_key})
55
+ file = file.copy!(settings.dest_path, {})
44
56
  button = settings.copy
45
57
  end
46
58
 
47
59
  # move file using request to API
48
60
  unless settings.move.nil?
49
- file = file.move!(settings.dest_path, {}, {:client_id => settings.client_id, :private_key => settings.private_key})
61
+ file = file.move!(settings.dest_path, {})
50
62
  button = settings.move
51
63
  end
52
64
 
53
65
  # result message
54
66
  if file
55
- massage = "File was #{button}'ed to the #{settings.dest_path} folder"
67
+ massage = "File was #{button}'ed to the <font color=\"blue\">#{settings.dest_path}</font> folder"
56
68
  end
57
69
 
58
70
  rescue Exception => e
@@ -60,5 +72,5 @@ post '/sample5' do
60
72
  end
61
73
 
62
74
  # set variables for template
63
- haml :sample5, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :file_id => settings.file_id, :dest_path => settings.dest_path, :massage => massage, :err => err}
75
+ haml :sample05, :locals => {:clientId => settings.client_id, :privateKey => settings.private_key, :fileId => settings.file_id, :destPath => settings.dest_path, :massage => massage, :err => err}
64
76
  end
@@ -0,0 +1,80 @@
1
+ # GET request
2
+ get '/sample06' do
3
+ haml :sample06
4
+ end
5
+
6
+ # POST request
7
+ post '/sample06' do
8
+ # set variables
9
+ set :client_id, params[:clientId]
10
+ set :private_key, params[:privateKey]
11
+ set :base_path, params[:basePath]
12
+ require 'net/http'
13
+
14
+ begin
15
+ # Check required variables
16
+ raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty?
17
+
18
+ if settings.base_path.empty? then settings.base_path = 'https://api.groupdocs.com' end
19
+
20
+ # Configure your access to API server
21
+ GroupDocs.configure do |groupdocs|
22
+ groupdocs.client_id = settings.client_id
23
+ groupdocs.private_key = settings.private_key
24
+ # Optionally specify API server and version
25
+ groupdocs.api_server = settings.base_path # default is 'https://api.groupdocs.com'
26
+ end
27
+
28
+
29
+ # Construct file path and open file
30
+ file_one_path = "#{File.dirname(__FILE__)}/#{params[:fiDocument][:filename]}"
31
+ File.open(file_one_path, 'wb') { |f| f.write(params[:fiDocument][:tempfile].read) }
32
+
33
+
34
+ # Create new file
35
+ file_one = GroupDocs::Storage::File.new(name: params[:fiDocument][:filename], local_path: file_one_path)
36
+ document_one = file_one.to_document
37
+
38
+ # Construct signature path and open file
39
+ signature_one_path = "#{Dir.tmpdir}/#{params[:fiSignature][:filename]}"
40
+ File.open(signature_one_path, 'wb') { |f| f.write(params[:fiSignature][:tempfile].read) }
41
+
42
+ # Add signature to file using API
43
+ signature_one = GroupDocs::Signature.new(name: params[:fiSignature][:filename], image_path: signature_one_path)
44
+ signature_one.position = {top: 0.83319, left: 0.72171, width: 100, height: 40}
45
+
46
+
47
+ # Make a request to API using client_id and private_key
48
+ signed_documents = GroupDocs::Document.sign_documents!([document_one], [signature_one], {})
49
+ sleep(5)
50
+
51
+ # Get the document guid
52
+ document = GroupDocs::Signature.sign_document_status!(signed_documents)
53
+
54
+ # Create request from servers
55
+ case settings.base_path
56
+
57
+ when 'https://stage-api-groupdocs.dynabic.com'
58
+ url = "http://stage-apps-groupdocs.dynabic.com/document-viewer/embed/#{document.guid}"
59
+
60
+ when 'https://dev-api-groupdocs.dynabic.com'
61
+ url = "http://dev-apps-groupdocs.dynabic.com/document-viewer/embed/#{document.guid}"
62
+ else
63
+ url = "https://apps.groupdocs.com/document-viewer/embed/#{document.guid}"
64
+ end
65
+
66
+ # Add the signature to url request
67
+ iframe = GroupDocs::Api::Request.new(:path => url).prepare_and_sign_url
68
+
69
+ # Generate result
70
+ if signed_documents
71
+ iframe = "<iframe src='#{iframe}' frameborder='0' width='720' height='600'></iframe>"
72
+ end
73
+
74
+ rescue Exception => e
75
+ err = e.message
76
+ end
77
+
78
+ # Set variables for template
79
+ haml :sample06, :locals => {:clientId => settings.client_id, :privateKey => settings.private_key, :iframe => iframe, :err => err}
80
+ end
@@ -0,0 +1,52 @@
1
+ # GET request
2
+ get '/sample07' do
3
+ haml :sample07
4
+ end
5
+
6
+ # POST request
7
+ post '/sample07' do
8
+ # Set variables
9
+ set :client_id, params[:clientId]
10
+ set :private_key, params[:privateKey]
11
+ set :base_path, params[:basePath]
12
+
13
+ begin
14
+ # Check required variables
15
+ raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty?
16
+
17
+ if settings.base_path.empty? then settings.base_path = 'https://api.groupdocs.com' end
18
+
19
+ # Configure your access to API server
20
+ GroupDocs.configure do |groupdocs|
21
+ groupdocs.client_id = settings.client_id
22
+ groupdocs.private_key = settings.private_key
23
+ # Optionally specify API server and version
24
+ groupdocs.api_server = settings.base_path # default is 'https://api.groupdocs.com'
25
+ end
26
+
27
+ # Make a request to API using client_id and private_key
28
+ files_list = GroupDocs::Storage::Folder.list!('/', {:extended => true}, {:client_id => settings.client_id, :private_key => settings.private_key})
29
+
30
+ # Construct result string
31
+ thumbnails = ''
32
+ files_list.each do |element|
33
+ if element.class.name.split('::').last == 'Folder'
34
+ next
35
+ end
36
+ if element.thumbnail
37
+ name = element.name
38
+ thumbnails += "<p><img src='data:image/png;base64,#{element.thumbnail}', width='40px', height='40px'> #{name}</p>"
39
+ end
40
+ end
41
+
42
+ unless thumbnails.empty?
43
+ set :thumbnails, thumbnails
44
+ end
45
+
46
+ rescue Exception => e
47
+ err = e.message
48
+ end
49
+
50
+ # Set variables for template
51
+ haml :sample07, :locals => {:clientId => settings.client_id, :privateKey => settings.private_key, :thumbnailList => thumbnails, :err => err}
52
+ end
@@ -0,0 +1,69 @@
1
+ # GET request
2
+ get '/sample08' do
3
+ haml :sample08
4
+ end
5
+
6
+ # POST request
7
+ post '/sample08' do
8
+ # Set variables
9
+ set :client_id, params[:clientId]
10
+ set :private_key, params[:privateKey]
11
+ set :guid, params[:guid]
12
+ set :page_number, params[:pageNumber]
13
+ set :source, params[:source]
14
+ set :file_id, params[:fileId]
15
+ set :base_path, params[:basePath]
16
+
17
+ begin
18
+ # Check required variables
19
+ raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty?
20
+
21
+ if settings.base_path.empty? then settings.base_path = 'https://api.groupdocs.com' end
22
+
23
+ # Configure your access to API server
24
+ GroupDocs.configure do |groupdocs|
25
+ groupdocs.client_id = settings.client_id
26
+ groupdocs.private_key = settings.private_key
27
+ # Optionally specify API server and version
28
+ groupdocs.api_server = settings.base_path # default is 'https://api.groupdocs.com'
29
+ end
30
+
31
+ file = nil
32
+ doc = nil
33
+ metadata = nil
34
+
35
+ # Get document by file GUID
36
+ case settings.source
37
+ when 'guid'
38
+ file = GroupDocs::Storage::File.new({:guid => settings.file_id})
39
+ when 'local'
40
+ # Construct path
41
+ filepath = "#{Dir.tmpdir}/#{params[:file][:filename]}"
42
+ # Open file
43
+ File.open(filepath, 'wb') { |f| f.write(params[:file][:tempfile].read) }
44
+ # Make a request to API using client_id and private_key
45
+ file = GroupDocs::Storage::File.upload!(filepath, {})
46
+ when 'url'
47
+ file = GroupDocs::Storage::File.upload_web!(settings.url)
48
+ else
49
+ raise 'Wrong GUID source.'
50
+ end
51
+
52
+ doc = file.to_document
53
+ metadata = doc.metadata!()
54
+
55
+ # Get document page images
56
+ images = doc.page_images!(800, 400, {:first_page => 0, :page_count => metadata.views_count})
57
+
58
+ # Result
59
+ unless images.empty?
60
+ image = images[Integer(settings.page_number)]
61
+ end
62
+
63
+ rescue Exception => e
64
+ err = e.message
65
+ end
66
+
67
+ # Set variables for template
68
+ haml :sample08, :locals => {:clientId => settings.client_id, :privateKey => settings.private_key, :guid => settings.guid, :pageNumber => settings.page_number, :image => image, :err => err}
69
+ end