groupdocs 1.2.11 → 1.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.
- data/.travis.yml +2 -0
- data/Gemfile +1 -1
- data/README.md +0 -2
- data/Rakefile +1 -1
- data/examples/api-samples/Gemfile +1 -1
- data/examples/api-samples/samples/annotation-sample.rb +50 -0
- data/examples/api-samples/samples/sample18.rb +11 -2
- data/examples/api-samples/samples/sample19.rb +58 -0
- data/examples/api-samples/samples/sample20.rb +50 -0
- data/examples/api-samples/samples/sample21.rb +65 -0
- data/examples/api-samples/samples/sample22.rb +52 -0
- data/examples/api-samples/views/annotation_sample.haml +64 -0
- data/examples/api-samples/views/index.haml +8 -0
- data/examples/api-samples/views/sample1.haml +9 -1
- data/examples/api-samples/views/sample10.haml +9 -1
- data/examples/api-samples/views/sample11.haml +10 -0
- data/examples/api-samples/views/sample12.haml +8 -0
- data/examples/api-samples/views/sample13.haml +8 -0
- data/examples/api-samples/views/sample14.haml +8 -0
- data/examples/api-samples/views/sample15.haml +8 -0
- data/examples/api-samples/views/sample16.haml +8 -0
- data/examples/api-samples/views/sample17.haml +8 -0
- data/examples/api-samples/views/sample18.haml +11 -0
- data/examples/api-samples/views/sample19.haml +102 -0
- data/examples/api-samples/views/sample2.haml +9 -1
- data/examples/api-samples/views/sample20.haml +89 -0
- data/examples/api-samples/views/sample21.haml +106 -0
- data/examples/api-samples/views/sample22.haml +107 -0
- data/examples/api-samples/views/sample3.haml +10 -2
- data/examples/api-samples/views/sample4.haml +8 -0
- data/examples/api-samples/views/sample5.haml +8 -0
- data/examples/api-samples/views/sample6.haml +8 -0
- data/examples/api-samples/views/sample7.haml +9 -1
- data/examples/api-samples/views/sample8.haml +10 -2
- data/examples/api-samples/views/sample9.haml +10 -2
- data/groupdocs.gemspec +4 -3
- data/lib/groupdocs.rb +2 -4
- data/lib/groupdocs/api.rb +2 -0
- data/lib/groupdocs/api/entity.rb +4 -36
- data/lib/groupdocs/api/helpers/access_rights_helper.rb +4 -4
- data/lib/groupdocs/api/helpers/byte_flag_helper.rb +3 -3
- data/lib/groupdocs/api/helpers/rest_helper.rb +5 -5
- data/lib/groupdocs/api/helpers/status_helper.rb +2 -2
- data/lib/groupdocs/api/helpers/url_helper.rb +2 -2
- data/lib/groupdocs/document.rb +55 -24
- data/lib/groupdocs/document/annotation.rb +7 -7
- data/lib/groupdocs/document/annotation/reply.rb +2 -2
- data/lib/groupdocs/document/view.rb +1 -1
- data/lib/groupdocs/job.rb +20 -20
- data/lib/groupdocs/questionnaire.rb +2 -2
- data/lib/groupdocs/questionnaire/collector.rb +2 -2
- data/lib/groupdocs/questionnaire/execution.rb +1 -1
- data/lib/groupdocs/questionnaire/question.rb +2 -2
- data/lib/groupdocs/signature.rb +1 -1
- data/lib/groupdocs/signature/envelope.rb +19 -19
- data/lib/groupdocs/signature/field.rb +6 -6
- data/lib/groupdocs/signature/form.rb +7 -7
- data/lib/groupdocs/signature/list.rb +2 -2
- data/lib/groupdocs/signature/recipient.rb +6 -6
- data/lib/groupdocs/signature/shared/document_methods.rb +5 -5
- data/lib/groupdocs/signature/shared/entity_methods.rb +4 -4
- data/lib/groupdocs/signature/shared/field_methods.rb +8 -8
- data/lib/groupdocs/signature/shared/recipient_methods.rb +2 -2
- data/lib/groupdocs/signature/shared/resource_methods.rb +1 -1
- data/lib/groupdocs/signature/template.rb +4 -4
- data/lib/groupdocs/storage.rb +4 -4
- data/lib/groupdocs/storage/file.rb +4 -4
- data/lib/groupdocs/storage/folder.rb +4 -4
- data/lib/groupdocs/subscription.rb +15 -15
- data/lib/groupdocs/version.rb +1 -1
- data/spec/groupdocs/api/entity_spec.rb +10 -37
- data/spec/groupdocs/api/helpers/access_mode_helper_spec.rb +1 -1
- data/spec/groupdocs/api/helpers/access_rights_helper_spec.rb +3 -3
- data/spec/groupdocs/api/helpers/credentials_helpers_spec.rb +5 -5
- data/spec/groupdocs/api/helpers/rest_helper_spec.rb +15 -15
- data/spec/groupdocs/api/helpers/status_helper_spec.rb +1 -1
- data/spec/groupdocs/api/helpers/url_helper_spec.rb +11 -11
- data/spec/groupdocs/api/request_spec.rb +6 -6
- data/spec/groupdocs/datasource_spec.rb +9 -9
- data/spec/groupdocs/document/annotation/reply_spec.rb +15 -15
- data/spec/groupdocs/document/annotation/reviewer_spec.rb +3 -3
- data/spec/groupdocs/document/annotation_spec.rb +17 -17
- data/spec/groupdocs/document/change_spec.rb +1 -1
- data/spec/groupdocs/document/field_spec.rb +1 -1
- data/spec/groupdocs/document/metadata_spec.rb +3 -3
- data/spec/groupdocs/document/view_spec.rb +4 -4
- data/spec/groupdocs/document_spec.rb +92 -66
- data/spec/groupdocs/job_spec.rb +29 -29
- data/spec/groupdocs/questionnaire/collector_spec.rb +15 -19
- data/spec/groupdocs/questionnaire/execution_spec.rb +12 -12
- data/spec/groupdocs/questionnaire/page_spec.rb +4 -4
- data/spec/groupdocs/questionnaire/question_spec.rb +6 -6
- data/spec/groupdocs/questionnaire_spec.rb +18 -18
- data/spec/groupdocs/signature/contact_spec.rb +9 -9
- data/spec/groupdocs/signature/envelope_spec.rb +34 -34
- data/spec/groupdocs/signature/field_spec.rb +13 -13
- data/spec/groupdocs/signature/form_spec.rb +9 -9
- data/spec/groupdocs/signature/list_spec.rb +3 -3
- data/spec/groupdocs/signature/role_spec.rb +2 -2
- data/spec/groupdocs/signature/template_spec.rb +6 -6
- data/spec/groupdocs/signature_spec.rb +3 -3
- data/spec/groupdocs/storage/file_spec.rb +20 -20
- data/spec/groupdocs/storage/folder_spec.rb +21 -21
- data/spec/groupdocs/storage/package_spec.rb +2 -2
- data/spec/groupdocs/storage_spec.rb +1 -1
- data/spec/groupdocs/subscription_spec.rb +3 -3
- data/spec/groupdocs/user_spec.rb +5 -5
- data/spec/spec_helper.rb +9 -7
- data/spec/support/json/document_thumbnails.json +24 -0
- data/spec/support/shared_examples/api/entity.rb +8 -8
- data/spec/support/shared_examples/signature/shared/document_methods.rb +8 -8
- data/spec/support/shared_examples/signature/shared/entity_fields.rb +3 -3
- data/spec/support/shared_examples/signature/shared/entity_methods.rb +12 -12
- data/spec/support/shared_examples/signature/shared/field_methods.rb +29 -29
- data/spec/support/shared_examples/signature/shared/recipient_methods.rb +3 -3
- data/spec/support/shared_examples/signature/shared/resource_methods.rb +2 -2
- metadata +33 -5
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
data/Rakefile
CHANGED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# GET request
|
|
2
|
+
get '/annotation-sample' do
|
|
3
|
+
haml :annotation_sample
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
# POST request
|
|
7
|
+
post '/annotation-sample' do
|
|
8
|
+
set :client_id, params[:client_id]
|
|
9
|
+
set :private_key, params[:private_key]
|
|
10
|
+
set :file_name, params[:file_name]
|
|
11
|
+
|
|
12
|
+
begin
|
|
13
|
+
raise "Please enter all required parameters" if settings.client_id.empty? or settings.private_key.empty? or settings.file_name.empty?
|
|
14
|
+
|
|
15
|
+
GroupDocs.configure do |groupdocs|
|
|
16
|
+
groupdocs.client_id = params[:client_id]
|
|
17
|
+
groupdocs.private_key = params[:private_key]
|
|
18
|
+
groupdocs.api_server = 'https://api.groupdocs.com'
|
|
19
|
+
end
|
|
20
|
+
# get document metadata
|
|
21
|
+
metadata = GroupDocs::Document.metadata!('resume.pdf')
|
|
22
|
+
document = GroupDocs::Storage::File.new(id: metadata.id, guid: metadata.guid).to_document
|
|
23
|
+
|
|
24
|
+
# create new user
|
|
25
|
+
user = GroupDocs::User.new
|
|
26
|
+
user.nickname = 'test_account'
|
|
27
|
+
user.primary_email = 'test_email@email.com'
|
|
28
|
+
user.first_name = 'First name'
|
|
29
|
+
user.last_name = 'Last name'
|
|
30
|
+
user = GroupDocs::User.update_account!(user)
|
|
31
|
+
|
|
32
|
+
# add collaborator
|
|
33
|
+
document.add_collaborator! user unless document.collaborators!.any? { |c| c.guid == user.guid }
|
|
34
|
+
|
|
35
|
+
# build url
|
|
36
|
+
annotation = true # looks like "IsAnnotation" is some helper method so I stub it here
|
|
37
|
+
url = if annotation
|
|
38
|
+
"/document-annotation2/embed?quality=50&guid=#{document.file.guid}&uid=#{user.guid}&download=True"
|
|
39
|
+
else
|
|
40
|
+
"/document-viewer/embed?quality=50&guid=#{document.file.guid}&uid=#{user.guid}&download=True"
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
url = GroupDocs::Api::Request.new(path: url).prepare_and_sign_url
|
|
44
|
+
iframe_url = "https://apps.groupdocs.com#{url}"
|
|
45
|
+
rescue Exception => e
|
|
46
|
+
err = e.message
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
haml :annotation_sample, :locals => { :client_id => settings.client_id, :private_key => settings.private_key, :err => err, :file_name => settings.file_name, :iframe_url => iframe_url}
|
|
50
|
+
end
|
|
@@ -27,11 +27,12 @@ post '/sample18' do
|
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
message = ""
|
|
30
|
+
iframe = ""
|
|
30
31
|
unless document.instance_of? String
|
|
31
32
|
|
|
32
33
|
# convert file
|
|
33
34
|
convert = document.to_document.convert!(settings.convert_type, {}, {:client_id => settings.client_id, :private_key => settings.private_key})
|
|
34
|
-
sleep(
|
|
35
|
+
sleep(5)
|
|
35
36
|
|
|
36
37
|
if convert.instance_of? GroupDocs::Job
|
|
37
38
|
# get all jobs
|
|
@@ -46,6 +47,14 @@ post '/sample18' do
|
|
|
46
47
|
end
|
|
47
48
|
|
|
48
49
|
if job.status == :archived
|
|
50
|
+
# get job by ID
|
|
51
|
+
job = GroupDocs::Job.new(id: convert.id)
|
|
52
|
+
# get all job documents
|
|
53
|
+
documents = job.documents!({:client_id => settings.client_id, :private_key => settings.private_key})
|
|
54
|
+
# get compared file giud
|
|
55
|
+
guid = documents[:inputs].first.outputs.first.guid
|
|
56
|
+
# construct result iframe
|
|
57
|
+
iframe = "<iframe src='https://apps.groupdocs.com/document-viewer/embed/#{guid}' frameborder='0' width='100%' height='600'></iframe>"
|
|
49
58
|
message = "<p>Converted file saved successfully."
|
|
50
59
|
end
|
|
51
60
|
|
|
@@ -57,5 +66,5 @@ post '/sample18' do
|
|
|
57
66
|
end
|
|
58
67
|
|
|
59
68
|
# set variables for template
|
|
60
|
-
haml :sample18, :locals => { :userId => settings.client_id, :privateKey => settings.private_key, :fileId => settings.file_id, :message => message, :err => err }
|
|
69
|
+
haml :sample18, :locals => { :userId => settings.client_id, :privateKey => settings.private_key, :fileId => settings.file_id, :message => message, :iframe => iframe, :err => err }
|
|
61
70
|
end
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# GET request
|
|
2
|
+
get '/sample19' do
|
|
3
|
+
haml :sample19
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
# POST request
|
|
7
|
+
post '/sample19' do
|
|
8
|
+
# set variables
|
|
9
|
+
set :client_id, params[:client_id]
|
|
10
|
+
set :private_key, params[:private_key]
|
|
11
|
+
set :sourceFileId, params[:sourceFileId]
|
|
12
|
+
set :targetFileId, params[:targetFileId]
|
|
13
|
+
set :callbackUrl, params[:callbackUrl]
|
|
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.sourceFileId.empty? or settings.targetFileId.empty?
|
|
18
|
+
|
|
19
|
+
# make a request to API using client_id and private_key
|
|
20
|
+
files_list = GroupDocs::Storage::Folder.list!('/', {}, { :client_id => settings.client_id, :private_key => settings.private_key})
|
|
21
|
+
|
|
22
|
+
source_document = ''
|
|
23
|
+
target_document = ''
|
|
24
|
+
|
|
25
|
+
# get source and target documents by file ID
|
|
26
|
+
files_list.each do |element|
|
|
27
|
+
if element.respond_to?('guid') == true and element.guid == settings.sourceFileId
|
|
28
|
+
source_document = element
|
|
29
|
+
end
|
|
30
|
+
if element.respond_to?('guid') == true and element.guid == settings.targetFileId
|
|
31
|
+
target_document = element
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
unless source_document.instance_of? String and target_document.instance_of? String
|
|
36
|
+
|
|
37
|
+
info = source_document.to_document.compare!(target_document.to_document, {:client_id => settings.client_id, :private_key => settings.private_key});
|
|
38
|
+
sleep(5)
|
|
39
|
+
|
|
40
|
+
# get job by ID
|
|
41
|
+
job = GroupDocs::Job.new(id: info.id)
|
|
42
|
+
# get all job documents
|
|
43
|
+
documents = job.documents!({:client_id => settings.client_id, :private_key => settings.private_key})
|
|
44
|
+
# get compared file giud
|
|
45
|
+
guid = documents[:outputs].first.file.guid
|
|
46
|
+
|
|
47
|
+
# construct result iframe
|
|
48
|
+
iframe = "<iframe src='https://apps.groupdocs.com/document-viewer/embed/#{guid}' frameborder='0' width='100%' height='600'></iframe>"
|
|
49
|
+
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
rescue Exception => e
|
|
53
|
+
err = e.message
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# set variables for template
|
|
57
|
+
haml :sample19, :locals => { :userId => settings.client_id, :privateKey => settings.private_key, :sourceFileId => settings.sourceFileId, :targetFileId => settings.targetFileId, :callbackUrl => settings.callbackUrl, :iframe => iframe, :err => err }
|
|
58
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# GET request
|
|
2
|
+
get '/sample20' do
|
|
3
|
+
haml :sample20
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
# POST request
|
|
7
|
+
post '/sample20' do
|
|
8
|
+
# set variables
|
|
9
|
+
set :client_id, params[:client_id]
|
|
10
|
+
set :private_key, params[:private_key]
|
|
11
|
+
set :resultFileId, params[:resultFileId]
|
|
12
|
+
|
|
13
|
+
begin
|
|
14
|
+
|
|
15
|
+
# check required variables
|
|
16
|
+
raise "Please enter all required parameters" if settings.client_id.empty? or settings.private_key.empty? or settings.resultFileId.empty?
|
|
17
|
+
|
|
18
|
+
# construct new storage file
|
|
19
|
+
file = GroupDocs::Storage::File.new(guid: settings.resultFileId)
|
|
20
|
+
# construct new document
|
|
21
|
+
document = GroupDocs::Document.new(file: file)
|
|
22
|
+
# get compare changes
|
|
23
|
+
changes = document.changes!({:client_id => settings.client_id, :private_key => settings.private_key})
|
|
24
|
+
|
|
25
|
+
result = ""
|
|
26
|
+
result += "<table class='border'>"
|
|
27
|
+
result += "<tr><td><font color='green'>Change Name</font></td><td><font color='green'>Change</font></td></tr>"
|
|
28
|
+
changes.each do |change|
|
|
29
|
+
result += "<tr><td>id</td><td>#{change.id}</td></tr>"
|
|
30
|
+
result += "<tr><td>type</td><td>#{change.type}</td></tr>"
|
|
31
|
+
result += "<tr><td>text</td><td>#{change.text}</td></tr>"
|
|
32
|
+
result += "<tr><td>page id</td><td>#{change.page[:Id]}</td></tr>"
|
|
33
|
+
result += "<tr><td>page weight</td><td>#{change.page[:Width]}</td></tr>"
|
|
34
|
+
result += "<tr><td>page height</td><td>#{change.page[:Height]}</td></tr>"
|
|
35
|
+
result += "<tr><td>box x</td><td>#{change.box.x}</td></tr>"
|
|
36
|
+
result += "<tr><td>box y</td><td>#{change.box.y}</td></tr>"
|
|
37
|
+
result += "<tr><td>box weight</td><td>#{change.box.width}</td></tr>"
|
|
38
|
+
result += "<tr><td>box height</td><td>#{change.box.height}</td></tr>"
|
|
39
|
+
result += "<tr bgcolor='#808080'><td></td><td></td></tr>"
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
result += "</table>"
|
|
43
|
+
|
|
44
|
+
rescue Exception => e
|
|
45
|
+
err = e.message
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# set variables for template
|
|
49
|
+
haml :sample20, :locals => { :userId => settings.client_id, :privateKey => settings.private_key, :resultFileId => settings.resultFileId, :result => result, :err => err }
|
|
50
|
+
end
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# GET request
|
|
2
|
+
get '/sample21' do
|
|
3
|
+
haml :sample21
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
# POST request
|
|
7
|
+
post '/sample21' do
|
|
8
|
+
# set variables
|
|
9
|
+
set :client_id, params[:client_id]
|
|
10
|
+
set :private_key, params[:private_key]
|
|
11
|
+
set :email, params[:email]
|
|
12
|
+
set :name, params[:name]
|
|
13
|
+
set :lastName, params[:lastName]
|
|
14
|
+
set :file, params[:file]
|
|
15
|
+
|
|
16
|
+
begin
|
|
17
|
+
|
|
18
|
+
# check required variables
|
|
19
|
+
raise "Please enter all required parameters" if settings.client_id.empty? or settings.private_key.empty? or settings.email.empty? or settings.name.empty? or settings.lastName.empty? or settings.file.nil?
|
|
20
|
+
|
|
21
|
+
# construct path
|
|
22
|
+
filepath = "#{Dir.tmpdir}/#{params[:file][:filename]}"
|
|
23
|
+
# open file
|
|
24
|
+
File.open(filepath, 'wb') { |f| f.write(params[:file][:tempfile].read) }
|
|
25
|
+
# upload file
|
|
26
|
+
file = GroupDocs::Storage::File.upload!(filepath, {}, client_id: settings.client_id, private_key: settings.private_key)
|
|
27
|
+
|
|
28
|
+
# create envelope using user id and entered by user name
|
|
29
|
+
envelope = GroupDocs::Signature::Envelope.new
|
|
30
|
+
envelope.name = params[:file][:filename]
|
|
31
|
+
envelope.email_subject = "Sing this!"
|
|
32
|
+
envelope.create!({}, client_id: settings.client_id, private_key: settings.private_key)
|
|
33
|
+
|
|
34
|
+
# Add uploaded document to envelope
|
|
35
|
+
envelope.add_document!(file.to_document, {}, {client_id: settings.client_id, private_key: settings.private_key})
|
|
36
|
+
|
|
37
|
+
# Get role list for current user
|
|
38
|
+
roles = GroupDocs::Signature::Role.get!({}, {client_id: settings.client_id, private_key: settings.private_key})
|
|
39
|
+
|
|
40
|
+
# Create new recipient
|
|
41
|
+
recipient = GroupDocs::Signature::Recipient.new
|
|
42
|
+
recipient.email = settings.email
|
|
43
|
+
recipient.first_name = settings.name
|
|
44
|
+
recipient.last_name = settings.lastName
|
|
45
|
+
recipient.role_id = roles.detect { |role| role.name == "Signer" }.id
|
|
46
|
+
|
|
47
|
+
# Add recipient to envelope
|
|
48
|
+
add = envelope.add_recipient!(recipient, {client_id: settings.client_id, private_key: settings.private_key})
|
|
49
|
+
|
|
50
|
+
# get recipient id
|
|
51
|
+
recipient_id = add[:recipient][:id]
|
|
52
|
+
|
|
53
|
+
# Send envelop
|
|
54
|
+
envelope.send!(nil, {client_id: settings.client_id, private_key: settings.private_key})
|
|
55
|
+
|
|
56
|
+
# Make iframe
|
|
57
|
+
iframe = "<iframe src='https://apps.groupdocs.com/signature/signembed/#{envelope.id}/#{recipient_id}' frameborder='0' width='720' height='600'></iframe>"
|
|
58
|
+
|
|
59
|
+
rescue Exception => e
|
|
60
|
+
err = e.message
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# set variables for template
|
|
64
|
+
haml :sample21, :locals => { :userId => settings.client_id, :privateKey => settings.private_key, :email => settings.email, :name => settings.name, :lastName => settings.lastName, :iframe => iframe, :err => err }
|
|
65
|
+
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# GET request
|
|
2
|
+
get '/sample22' do
|
|
3
|
+
haml :sample22
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
# POST request
|
|
7
|
+
post '/sample22' do
|
|
8
|
+
# set variables
|
|
9
|
+
set :client_id, params[:client_id]
|
|
10
|
+
set :private_key, params[:private_key]
|
|
11
|
+
set :fileId, params[:fileId]
|
|
12
|
+
set :email, params[:email]
|
|
13
|
+
set :first_name, params[:first_name]
|
|
14
|
+
set :last_name, params[:last_name]
|
|
15
|
+
|
|
16
|
+
begin
|
|
17
|
+
|
|
18
|
+
# check required variables
|
|
19
|
+
raise "Please enter all required parameters" if settings.client_id.empty? or settings.private_key.empty? or settings.fileId.empty? or settings.email.empty? or settings.first_name.empty? or settings.last_name.empty?
|
|
20
|
+
|
|
21
|
+
# create new user
|
|
22
|
+
user = GroupDocs::User.new
|
|
23
|
+
user.primary_email = settings.email
|
|
24
|
+
user.nickname = settings.first_name
|
|
25
|
+
user.first_name = settings.first_name
|
|
26
|
+
user.last_name = settings.last_name
|
|
27
|
+
|
|
28
|
+
# update account
|
|
29
|
+
GroupDocs::User.update_account!(user, {client_id: settings.client_id, private_key: settings.private_key})
|
|
30
|
+
|
|
31
|
+
# create file from GUID
|
|
32
|
+
file = GroupDocs::Storage::File.new(guid: settings.fileId)
|
|
33
|
+
|
|
34
|
+
# create document from file
|
|
35
|
+
document = GroupDocs::Document.new(file: file)
|
|
36
|
+
|
|
37
|
+
# set new collaboration
|
|
38
|
+
document.set_collaborators!([settings.email], 2, {:client_id => settings.client_id, :private_key => settings.private_key})
|
|
39
|
+
|
|
40
|
+
# get all collaborations
|
|
41
|
+
collaborations = document.collaborators!({:client_id => settings.client_id, :private_key => settings.private_key})
|
|
42
|
+
|
|
43
|
+
# set document reviewers
|
|
44
|
+
document.set_reviewers!(collaborations, {:client_id => settings.client_id, :private_key => settings.private_key})
|
|
45
|
+
|
|
46
|
+
rescue Exception => e
|
|
47
|
+
err = e.message
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# set variables for template
|
|
51
|
+
haml :sample22, :locals => { :userId => settings.client_id, :privateKey => settings.private_key, :fileId => settings.fileId, :email => settings.email, :first_name => settings.first_name, :last_name => settings.last_name }
|
|
52
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
%h3{:style => "text-align:center;"}
|
|
2
|
+
%a{:href => "/"} GroupDocs Ruby SDK Samples
|
|
3
|
+
\- Envelope sample
|
|
4
|
+
.samplecontent{:style => "padding:10px;"}
|
|
5
|
+
%i This sample will show how to use annotation and user API using Ruby SDK
|
|
6
|
+
%br/
|
|
7
|
+
%br/
|
|
8
|
+
%p
|
|
9
|
+
You entered:
|
|
10
|
+
%p
|
|
11
|
+
UserId = #{(defined? client_id) ? client_id : ""}
|
|
12
|
+
%p
|
|
13
|
+
PrivateKey = #{(defined? private_key) ? private_key : ""}
|
|
14
|
+
%p
|
|
15
|
+
File name = #{(defined? file_name) ? file_name : ""}
|
|
16
|
+
%p
|
|
17
|
+
%font{:color => "red"} #{(defined? err) ? err : ""}
|
|
18
|
+
%br/
|
|
19
|
+
#requestForm{:style => "padding:20px; border:1px solid black;"}
|
|
20
|
+
%p Enter data for request and press "Make request" button
|
|
21
|
+
%form{:action => "/annotation-sample", :enctype => "multipart/form-data", :method => "post"}
|
|
22
|
+
%label{:for => "client_id"} GroupDocs ClientID
|
|
23
|
+
%br/
|
|
24
|
+
%input{:type=>"text", :name=>"client_id"}
|
|
25
|
+
%br/
|
|
26
|
+
%label{:for => "private_key"} GroupDocs PrivateKey
|
|
27
|
+
%br/
|
|
28
|
+
%input{:type=>"text", :name=>"private_key"}
|
|
29
|
+
%br/
|
|
30
|
+
%label{:for => "file"} File name with extension (filename.doc)
|
|
31
|
+
%br/
|
|
32
|
+
%input{:type => "text", :name => "file_name" }/
|
|
33
|
+
%br/
|
|
34
|
+
%br/
|
|
35
|
+
%input{:type => "submit", :value => "Submit"}/
|
|
36
|
+
%div{:style => "padding:20px; border:1px solid black;"}
|
|
37
|
+
%p
|
|
38
|
+
Results:
|
|
39
|
+
%br/
|
|
40
|
+
#{(defined? iframe_url) ? iframe_url : ""}
|
|
41
|
+
|
|
42
|
+
%div{:style => "padding:10px;"}
|
|
43
|
+
Choose anothe one sample:
|
|
44
|
+
%ul
|
|
45
|
+
%li
|
|
46
|
+
%a{:href => "/sample1"} Sample1 - How to login to GroupDocs using the API
|
|
47
|
+
%li
|
|
48
|
+
%a{:href => "/sample2"} Sample2 - How to list files within GroupDocs Storage using the Storage API
|
|
49
|
+
%li
|
|
50
|
+
%a{:href => "/sample3"} Sample3 - How to upload a file to GroupDocs using the Storage API
|
|
51
|
+
%li
|
|
52
|
+
%a{:href => "/sample4"} Sample4 - How to download a file from GroupDocs Storage using the Storage API
|
|
53
|
+
%li
|
|
54
|
+
%a{:href => "/sample5"} Sample5 - How to copy / move a file using the GroupDocs Storage API
|
|
55
|
+
%li
|
|
56
|
+
%a{:href => "/sample6"} Sample6 - How to add a Signature to a document in GroupDocs Signature
|
|
57
|
+
%li
|
|
58
|
+
%a{:href => "/sample7"} Sample7 - How to create a list of thumbnails for a document
|
|
59
|
+
%li
|
|
60
|
+
%a{:href => "/sample8"} Sample8 - How to return a URL representing a single page of a Document
|
|
61
|
+
%li
|
|
62
|
+
%a{:href => "/sample9"} Sample9 - How to generate an embedded Viewer URL for a Document
|
|
63
|
+
%li
|
|
64
|
+
%a{:href => "/sample10"} Sample10 - How to share a document to other users
|
|
@@ -37,5 +37,13 @@
|
|
|
37
37
|
%a{:href => "/sample17"}Sample17 - How to upload a file into the storage and compress it into zip archive
|
|
38
38
|
%li
|
|
39
39
|
%a{:href => "/sample18"}Sample18 - How to convert Doc to Docx, Docx to Doc, Docx to PDF, PPT to PDF
|
|
40
|
+
%li
|
|
41
|
+
%a{:href => "/sample19"}Sample19 - How to Compare documents using Ruby SDK
|
|
42
|
+
%li
|
|
43
|
+
%a{:href => "/sample20"}Sample20 - How to Get Compare Change list for document using Ruby SDK
|
|
44
|
+
%li
|
|
45
|
+
%a{:href => "/sample21"}Sample21 - How to Create and Upload Envelop to GroupDocs account using Ruby SDK
|
|
46
|
+
%li
|
|
47
|
+
%a{:href => "/sample22"}Sample22 - How create or update user and add him to collaborators using PHP SDK
|
|
40
48
|
%li
|
|
41
49
|
%a{:href => "/envelope-sample"}Envelope sample - How to use envelope and signature API
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
%br/
|
|
51
51
|
%input{:type => "submit", :value => "Make Request"}/
|
|
52
52
|
%div{:style => "padding:10px;"}
|
|
53
|
-
Choose
|
|
53
|
+
Choose another one sample:
|
|
54
54
|
%ul
|
|
55
55
|
%li
|
|
56
56
|
%a{:href => "/sample1"} Sample1 - How to login to GroupDocs using the API
|
|
@@ -88,5 +88,13 @@
|
|
|
88
88
|
%a{:href => "/sample17"}Sample17 - How to upload a file into the storage and compress it into zip archive
|
|
89
89
|
%li
|
|
90
90
|
%a{:href => "/sample18"}Sample18 - How to convert Doc to Docx, Docx to Doc, Docx to PDF, PPT to PDF
|
|
91
|
+
%li
|
|
92
|
+
%a{:href => "/sample19"}Sample19 - How to Compare documents using Ruby SDK
|
|
93
|
+
%li
|
|
94
|
+
%a{:href => "/sample20"}Sample20 - How to Get Compare Change list for document using Ruby SDK
|
|
95
|
+
%li
|
|
96
|
+
%a{:href => "/sample21"}Sample21 - How to Create and Upload Envelop to GroupDocs account using Ruby SDK
|
|
97
|
+
%li
|
|
98
|
+
%a{:href => "/sample22"}Sample22 - How create or update user and add him to collaborators using PHP SDK
|
|
91
99
|
%li
|
|
92
100
|
%a{:href => "/envelope-sample"}Envelope sample - How to use envelope and signature API
|