groupdocs 1.2.3 → 1.2.6
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.
@@ -327,15 +327,20 @@ module GroupDocs
|
|
327
327
|
#
|
328
328
|
# Sends envelope.
|
329
329
|
#
|
330
|
+
# @param [String] webhook URL to be hooked after envelope is completed
|
330
331
|
# @param [Hash] access Access credentials
|
331
332
|
# @option access [String] :client_id
|
332
333
|
# @option access [String] :private_key
|
333
334
|
#
|
334
|
-
def send!(access = {})
|
335
|
+
def send!(webhook = nil, access = {})
|
335
336
|
Api::Request.new do |request|
|
336
337
|
request[:access] = access
|
337
338
|
request[:method] = :PUT
|
338
339
|
request[:path] = "/signature/{{client_id}}/envelopes/#{id}/send"
|
340
|
+
if webhook
|
341
|
+
request[:request_body] = webhook
|
342
|
+
request[:plain] = true
|
343
|
+
end
|
339
344
|
end.execute!
|
340
345
|
end
|
341
346
|
|
@@ -72,6 +72,8 @@ module GroupDocs
|
|
72
72
|
# @param [GroupDocs::Signature::Field] field
|
73
73
|
# @param [GroupDocs::Document] document
|
74
74
|
# @param [GroupDocs::Signature::Recipient] recipient
|
75
|
+
# @param [Hash] options
|
76
|
+
# @option options [Boolean] :force_new_field Set to true to force new field create
|
75
77
|
# @param [Hash] access Access credentials
|
76
78
|
# @option access [String] :client_id
|
77
79
|
# @option access [String] :private_key
|
@@ -80,7 +82,7 @@ module GroupDocs
|
|
80
82
|
# @raise [ArgumentError] if recipient is not GroupDocs::Signature::Recipient
|
81
83
|
# @raise [ArgumentError] if field does not specify location
|
82
84
|
#
|
83
|
-
def add_field!(field, document, recipient, access = {})
|
85
|
+
def add_field!(field, document, recipient, opts = {}, access = {})
|
84
86
|
field.is_a?(GroupDocs::Signature::Field) or raise ArgumentError,
|
85
87
|
"Field should be GroupDocs::Signature::Field object, received: #{field.inspect}"
|
86
88
|
document.is_a?(GroupDocs::Document) or raise ArgumentError,
|
@@ -90,9 +92,10 @@ module GroupDocs
|
|
90
92
|
field.location or raise ArgumentError,
|
91
93
|
"You have to specify field location, received: #{field.location.inspect}"
|
92
94
|
|
95
|
+
opts[:force_new_field] = true if opts[:force_new_field].nil?
|
93
96
|
payload = field.to_hash # field itself
|
94
97
|
payload.merge!(field.location.to_hash) # location should added in plain view (i.e. not "location": {...})
|
95
|
-
payload.merge!(forceNewField:
|
98
|
+
payload.merge!(forceNewField: opts[:force_new_field]) # create new field flag
|
96
99
|
|
97
100
|
Api::Request.new do |request|
|
98
101
|
request[:access] = access
|
data/lib/groupdocs/version.rb
CHANGED
@@ -257,9 +257,13 @@ describe GroupDocs::Signature::Envelope do
|
|
257
257
|
|
258
258
|
it 'accepts access credentials hash' do
|
259
259
|
lambda do
|
260
|
-
subject.send!(client_id: 'client_id', private_key: 'private_key')
|
260
|
+
subject.send!(nil, client_id: 'client_id', private_key: 'private_key')
|
261
261
|
end.should_not raise_error(ArgumentError)
|
262
262
|
end
|
263
|
+
|
264
|
+
it 'accepts webhook callback URL and sends it as plain text' do
|
265
|
+
subject.send! 'http://mywebsite.com'
|
266
|
+
end
|
263
267
|
end
|
264
268
|
|
265
269
|
describe '#archive!' do
|
@@ -42,7 +42,7 @@ shared_examples_for GroupDocs::Signature::FieldMethods do
|
|
42
42
|
|
43
43
|
it 'accepts access credentials hash' do
|
44
44
|
lambda do
|
45
|
-
subject.add_field!(field, document, recipient, client_id: 'client_id', private_key: 'private_key')
|
45
|
+
subject.add_field!(field, document, recipient, { force_new_field: false }, client_id: 'client_id', private_key: 'private_key')
|
46
46
|
end.should_not raise_error(ArgumentError)
|
47
47
|
end
|
48
48
|
|
@@ -63,7 +63,7 @@ shared_examples_for GroupDocs::Signature::FieldMethods do
|
|
63
63
|
-> { subject.add_field!(field, document, recipient) }.should raise_error(ArgumentError)
|
64
64
|
end
|
65
65
|
|
66
|
-
it 'uses field
|
66
|
+
it 'uses field and field locationas payload' do
|
67
67
|
hash_one = {}
|
68
68
|
payload = {}
|
69
69
|
location = {}
|
@@ -73,6 +73,17 @@ shared_examples_for GroupDocs::Signature::FieldMethods do
|
|
73
73
|
payload.should_receive(:merge!).with(forceNewField: true).and_return({})
|
74
74
|
subject.add_field!(field, document, recipient)
|
75
75
|
end
|
76
|
+
|
77
|
+
it 'allows overriding force new field flag' do
|
78
|
+
hash_one = {}
|
79
|
+
payload = {}
|
80
|
+
location = {}
|
81
|
+
field.should_receive(:to_hash).and_return(payload)
|
82
|
+
field.location.should_receive(:to_hash).and_return(location)
|
83
|
+
payload.should_receive(:merge!).with(location).and_return(payload)
|
84
|
+
payload.should_receive(:merge!).with(forceNewField: false).and_return({})
|
85
|
+
subject.add_field!(field, document, recipient, force_new_field: false)
|
86
|
+
end
|
76
87
|
end
|
77
88
|
|
78
89
|
describe '#modify_field!' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: groupdocs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-02-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rest-client
|
@@ -422,7 +422,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
422
422
|
version: '0'
|
423
423
|
segments:
|
424
424
|
- 0
|
425
|
-
hash:
|
425
|
+
hash: -3953683120914117386
|
426
426
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
427
427
|
none: false
|
428
428
|
requirements:
|
@@ -431,7 +431,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
431
431
|
version: '0'
|
432
432
|
segments:
|
433
433
|
- 0
|
434
|
-
hash:
|
434
|
+
hash: -3953683120914117386
|
435
435
|
requirements: []
|
436
436
|
rubyforge_project:
|
437
437
|
rubygems_version: 1.8.24
|