groupdocs 1.5.7 → 1.5.8

Sign up to get free protection for your applications and to get access to all the features.
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