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.
- data/CHANGELOG.md +51 -0
- data/examples/api-samples/Gemfile +1 -1
- data/examples/api-samples/Gemfile.lock +43 -0
- data/examples/api-samples/public/docs/{sample2.html → sample01.html} +39 -19
- data/examples/api-samples/public/docs/{sample3.html → sample02.html} +28 -22
- data/examples/api-samples/public/docs/sample03.html +285 -0
- data/examples/api-samples/public/docs/{sample4.html → sample04.html} +30 -36
- data/examples/api-samples/public/docs/{sample5.html → sample05.html} +68 -31
- data/examples/api-samples/public/docs/sample06.html +299 -0
- data/examples/api-samples/public/docs/{sample7.html → sample07.html} +53 -18
- data/examples/api-samples/public/docs/{sample8.html → sample08.html} +64 -41
- data/examples/api-samples/public/docs/sample09.html +260 -0
- data/examples/api-samples/public/docs/sample10.html +67 -28
- data/examples/api-samples/public/docs/sample11.html +171 -55
- data/examples/api-samples/public/docs/sample12.html +53 -17
- data/examples/api-samples/public/docs/sample13.html +52 -16
- data/examples/api-samples/public/docs/sample14.html +51 -8
- data/examples/api-samples/public/docs/sample15.html +46 -10
- data/examples/api-samples/public/docs/sample16.html +81 -7
- data/examples/api-samples/public/docs/sample17.html +103 -15
- data/examples/api-samples/public/docs/sample18.html +117 -41
- data/examples/api-samples/public/docs/sample19.html +410 -36
- data/examples/api-samples/public/docs/sample20.html +46 -10
- data/examples/api-samples/public/docs/sample21.html +504 -45
- data/examples/api-samples/public/docs/sample22.html +166 -28
- data/examples/api-samples/public/docs/sample23.html +61 -25
- data/examples/api-samples/public/docs/sample24.html +100 -12
- data/examples/api-samples/public/docs/sample25.html +123 -49
- data/examples/api-samples/public/docs/sample26.html +41 -8
- data/examples/api-samples/public/docs/sample27.html +125 -50
- data/examples/api-samples/public/docs/sample28.html +27 -9
- data/examples/api-samples/public/docs/sample29.html +10 -10
- data/examples/api-samples/public/docs/sample30.html +70 -14
- data/examples/api-samples/public/docs/sample31.html +108 -67
- data/examples/api-samples/public/docs/sample32.html +71 -99
- data/examples/api-samples/public/docs/sample33.html +107 -32
- data/examples/api-samples/public/docs/{sample1.html → sample34.html} +58 -18
- data/examples/api-samples/public/docs/sample35.html +666 -0
- data/examples/api-samples/public/docs/{sample6.html → sample36.html} +56 -37
- data/examples/api-samples/public/docs/sample37.html +815 -0
- data/examples/api-samples/public/docs/sample38.html +508 -0
- data/examples/api-samples/public/docs/sample39.html +921 -0
- data/examples/api-samples/public/docs/sample40.html +510 -0
- data/examples/api-samples/public/docs/sample41.html +452 -0
- data/examples/api-samples/public/docs/sample42.html +311 -0
- data/examples/api-samples/public/templates/test_all_fields2.pdf +0 -0
- data/examples/api-samples/samples/sample01.rb +37 -0
- data/examples/api-samples/samples/sample02.rb +41 -0
- data/examples/api-samples/samples/sample03.rb +73 -0
- data/examples/api-samples/samples/sample04.rb +47 -0
- data/examples/api-samples/samples/{sample5.rb → sample05.rb} +26 -14
- data/examples/api-samples/samples/sample06.rb +80 -0
- data/examples/api-samples/samples/sample07.rb +52 -0
- data/examples/api-samples/samples/sample08.rb +69 -0
- data/examples/api-samples/samples/sample09.rb +83 -0
- data/examples/api-samples/samples/sample10.rb +29 -15
- data/examples/api-samples/samples/sample11.rb +89 -37
- data/examples/api-samples/samples/sample12.rb +22 -11
- data/examples/api-samples/samples/sample13.rb +22 -10
- data/examples/api-samples/samples/sample14.rb +23 -5
- data/examples/api-samples/samples/sample15.rb +18 -7
- data/examples/api-samples/samples/sample16.rb +28 -4
- data/examples/api-samples/samples/sample17.rb +31 -5
- data/examples/api-samples/samples/sample18.rb +36 -8
- data/examples/api-samples/samples/sample19.rb +138 -18
- data/examples/api-samples/samples/sample20.rb +14 -3
- data/examples/api-samples/samples/sample21.rb +162 -23
- data/examples/api-samples/samples/sample22.rb +73 -22
- data/examples/api-samples/samples/sample23.rb +17 -6
- data/examples/api-samples/samples/sample24.rb +34 -7
- data/examples/api-samples/samples/sample25.rb +37 -12
- data/examples/api-samples/samples/sample26.rb +12 -5
- data/examples/api-samples/samples/sample27.rb +38 -12
- data/examples/api-samples/samples/sample28.rb +25 -6
- data/examples/api-samples/samples/sample29.rb +12 -12
- data/examples/api-samples/samples/sample30.rb +27 -15
- data/examples/api-samples/samples/sample31.rb +44 -33
- data/examples/api-samples/samples/sample32.rb +43 -41
- data/examples/api-samples/samples/sample33.rb +42 -14
- data/examples/api-samples/samples/sample34.rb +40 -0
- data/examples/api-samples/samples/sample35.rb +224 -0
- data/examples/api-samples/samples/sample36.rb +58 -0
- data/examples/api-samples/samples/sample37.rb +229 -0
- data/examples/api-samples/samples/sample38.rb +128 -0
- data/examples/api-samples/samples/sample39.rb +252 -0
- data/examples/api-samples/samples/sample40.rb +164 -0
- data/examples/api-samples/samples/sample41.rb +118 -0
- data/examples/api-samples/samples/sample42.rb +97 -0
- data/examples/api-samples/views/_others_samples.haml +25 -11
- data/examples/api-samples/views/index.haml +23 -11
- data/examples/api-samples/views/popup.haml +32 -0
- data/examples/api-samples/views/{sample1.haml → sample01.haml} +12 -7
- data/examples/api-samples/views/{sample2.haml → sample02.haml} +20 -15
- data/examples/api-samples/views/sample03.haml +83 -0
- data/examples/api-samples/views/sample04.haml +49 -0
- data/examples/api-samples/views/{sample5.haml → sample05.haml} +19 -14
- data/examples/api-samples/views/sample06.haml +53 -0
- data/examples/api-samples/views/sample07.haml +47 -0
- data/examples/api-samples/views/{sample8.haml → sample08.haml} +17 -12
- data/examples/api-samples/views/{sample9.haml → sample09.haml} +19 -4
- data/examples/api-samples/views/sample10.haml +18 -13
- data/examples/api-samples/views/sample11.haml +48 -19
- data/examples/api-samples/views/sample12.haml +26 -21
- data/examples/api-samples/views/sample13.haml +18 -12
- data/examples/api-samples/views/sample14.haml +21 -15
- data/examples/api-samples/views/sample15.haml +16 -9
- data/examples/api-samples/views/sample16.haml +18 -5
- data/examples/api-samples/views/sample17.haml +14 -9
- data/examples/api-samples/views/sample18.haml +13 -7
- data/examples/api-samples/views/sample19.haml +37 -8
- data/examples/api-samples/views/sample20.haml +13 -8
- data/examples/api-samples/views/sample21.haml +71 -13
- data/examples/api-samples/views/sample22.haml +53 -16
- data/examples/api-samples/views/sample23.haml +9 -4
- data/examples/api-samples/views/sample24.haml +9 -4
- data/examples/api-samples/views/sample25.haml +18 -13
- data/examples/api-samples/views/sample26.haml +8 -3
- data/examples/api-samples/views/sample27.haml +20 -14
- data/examples/api-samples/views/sample28.haml +16 -10
- data/examples/api-samples/views/sample29.haml +4 -4
- data/examples/api-samples/views/sample30.haml +16 -10
- data/examples/api-samples/views/sample31.haml +39 -32
- data/examples/api-samples/views/sample32.haml +25 -36
- data/examples/api-samples/views/sample33.haml +14 -17
- data/examples/api-samples/views/sample34.haml +48 -0
- data/examples/api-samples/views/sample35.haml +95 -0
- data/examples/api-samples/views/sample36.haml +64 -0
- data/examples/api-samples/views/sample37.haml +124 -0
- data/examples/api-samples/views/sample38.haml +115 -0
- data/examples/api-samples/views/sample39.haml +236 -0
- data/examples/api-samples/views/sample40.haml +95 -0
- data/examples/api-samples/views/{sample4.haml → sample41.haml} +90 -72
- data/examples/api-samples/views/sample42.haml +59 -0
- data/lib/groupdocs/api/helpers/rest_helper.rb +13 -1
- data/lib/groupdocs/datasource.rb +2 -1
- data/lib/groupdocs/document.rb +101 -13
- data/lib/groupdocs/document/annotation.rb +28 -13
- data/lib/groupdocs/document/annotation/marker.rb +18 -0
- data/lib/groupdocs/document/annotation/reply.rb +9 -2
- data/lib/groupdocs/document/field.rb +5 -1
- data/lib/groupdocs/job.rb +12 -2
- data/lib/groupdocs/questionnaire.rb +174 -4
- data/lib/groupdocs/questionnaire/collector.rb +21 -0
- data/lib/groupdocs/questionnaire/question.rb +19 -0
- data/lib/groupdocs/questionnaire/question/answer.rb +5 -0
- data/lib/groupdocs/questionnaire/question/conditions.rb +20 -0
- data/lib/groupdocs/signature.rb +36 -308
- data/lib/groupdocs/signature/envelope.rb +146 -4
- data/lib/groupdocs/signature/field.rb +20 -1
- data/lib/groupdocs/signature/field/location.rb +18 -7
- data/lib/groupdocs/signature/form.rb +199 -10
- data/lib/groupdocs/signature/shared/document_methods.rb +38 -0
- data/lib/groupdocs/signature/shared/entity_methods.rb +0 -1
- data/lib/groupdocs/signature/shared/field_methods.rb +13 -38
- data/lib/groupdocs/signature/shared/recipient_methods.rb +8 -0
- data/lib/groupdocs/signature/template.rb +3 -1
- data/lib/groupdocs/storage.rb +4 -1
- data/lib/groupdocs/storage/file.rb +18 -1
- data/lib/groupdocs/subscription.rb +8 -3
- data/lib/groupdocs/user.rb +8 -0
- data/lib/groupdocs/version.rb +1 -1
- data/spec/groupdocs/document/annotation_spec.rb +1 -14
- data/spec/groupdocs/subscription_spec.rb +2 -2
- metadata +86 -32
- checksums.yaml +0 -15
- data/examples/api-samples/public/docs/sample9.html +0 -200
- data/examples/api-samples/samples/sample1.rb +0 -25
- data/examples/api-samples/samples/sample2.rb +0 -29
- data/examples/api-samples/samples/sample3.rb +0 -33
- data/examples/api-samples/samples/sample4.rb +0 -51
- data/examples/api-samples/samples/sample6.rb +0 -49
- data/examples/api-samples/samples/sample7.rb +0 -42
- data/examples/api-samples/samples/sample8.rb +0 -61
- data/examples/api-samples/samples/sample9.rb +0 -48
- data/examples/api-samples/views/sample3.haml +0 -44
- data/examples/api-samples/views/sample6.haml +0 -49
- data/examples/api-samples/views/sample7.haml +0 -42
|
@@ -0,0 +1,510 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
|
|
3
|
+
<html>
|
|
4
|
+
<head>
|
|
5
|
+
<title>sample40.rb</title>
|
|
6
|
+
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
|
7
|
+
<meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
|
|
8
|
+
<link rel="stylesheet" media="all" href="docco.css" />
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<div id="container">
|
|
12
|
+
<div id="background"></div>
|
|
13
|
+
|
|
14
|
+
<ul class="sections">
|
|
15
|
+
|
|
16
|
+
<li id="title">
|
|
17
|
+
<div class="annotation">
|
|
18
|
+
<h1>sample40.rb</h1>
|
|
19
|
+
</div>
|
|
20
|
+
</li>
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
<li id="section-1">
|
|
25
|
+
<div class="annotation">
|
|
26
|
+
|
|
27
|
+
<div class="pilwrap ">
|
|
28
|
+
<a class="pilcrow" href="#section-1">¶</a>
|
|
29
|
+
</div>
|
|
30
|
+
<p>GET request</p>
|
|
31
|
+
|
|
32
|
+
</div>
|
|
33
|
+
|
|
34
|
+
<div class="content"><div class='highlight'><pre>get <span class="string">'/sample40'</span> <span class="keyword">do</span>
|
|
35
|
+
haml <span class="symbol">:sample40</span>
|
|
36
|
+
<span class="keyword">end</span></pre></div></div>
|
|
37
|
+
|
|
38
|
+
</li>
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
<li id="section-2">
|
|
42
|
+
<div class="annotation">
|
|
43
|
+
|
|
44
|
+
<div class="pilwrap ">
|
|
45
|
+
<a class="pilcrow" href="#section-2">¶</a>
|
|
46
|
+
</div>
|
|
47
|
+
<p>POST request</p>
|
|
48
|
+
|
|
49
|
+
</div>
|
|
50
|
+
|
|
51
|
+
<div class="content"><div class='highlight'><pre>post <span class="string">'/sample40/check_guid'</span> <span class="keyword">do</span>
|
|
52
|
+
<span class="keyword">begin</span>
|
|
53
|
+
result = <span class="keyword">nil</span>
|
|
54
|
+
i = <span class="number">0</span>
|
|
55
|
+
<span class="keyword">for</span> i <span class="keyword">in</span> <span class="number">1</span>..<span class="number">10</span>
|
|
56
|
+
i +=<span class="number">1</span></pre></div></div>
|
|
57
|
+
|
|
58
|
+
</li>
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
<li id="section-3">
|
|
62
|
+
<div class="annotation">
|
|
63
|
+
|
|
64
|
+
<div class="pilwrap ">
|
|
65
|
+
<a class="pilcrow" href="#section-3">¶</a>
|
|
66
|
+
</div>
|
|
67
|
+
<p>Check is downloads folder exist</p>
|
|
68
|
+
|
|
69
|
+
</div>
|
|
70
|
+
|
|
71
|
+
<div class="content"><div class='highlight'><pre> <span class="keyword">if</span> <span class="constant">File</span>.exist?(<span class="string">"<span class="subst">#{<span class="constant">File</span>.dirname(__FILE_<span class="number">_</span>)}</span>/../public/callback_info.txt"</span>)
|
|
72
|
+
result = <span class="constant">File</span>.read(<span class="string">"<span class="subst">#{<span class="constant">File</span>.dirname(__FILE_<span class="number">_</span>)}</span>/../public/callback_info.txt"</span>)
|
|
73
|
+
<span class="keyword">if</span> result != <span class="string">''</span> <span class="keyword">then</span> <span class="keyword">break</span> <span class="keyword">end</span>
|
|
74
|
+
<span class="keyword">end</span>
|
|
75
|
+
sleep(<span class="number">5</span>)
|
|
76
|
+
<span class="keyword">end</span></pre></div></div>
|
|
77
|
+
|
|
78
|
+
</li>
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
<li id="section-4">
|
|
82
|
+
<div class="annotation">
|
|
83
|
+
|
|
84
|
+
<div class="pilwrap ">
|
|
85
|
+
<a class="pilcrow" href="#section-4">¶</a>
|
|
86
|
+
</div>
|
|
87
|
+
<p>Check result</p>
|
|
88
|
+
|
|
89
|
+
</div>
|
|
90
|
+
|
|
91
|
+
<div class="content"><div class='highlight'><pre> <span class="keyword">if</span> result == <span class="string">'Error'</span>
|
|
92
|
+
result = <span class="string">"File was not found. Looks like something went wrong."</span>
|
|
93
|
+
<span class="keyword">else</span>
|
|
94
|
+
result
|
|
95
|
+
<span class="keyword">end</span>
|
|
96
|
+
|
|
97
|
+
<span class="keyword">rescue</span> <span class="constant">Exception</span> => e
|
|
98
|
+
err = e.message
|
|
99
|
+
<span class="keyword">end</span>
|
|
100
|
+
<span class="keyword">end</span></pre></div></div>
|
|
101
|
+
|
|
102
|
+
</li>
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
<li id="section-5">
|
|
106
|
+
<div class="annotation">
|
|
107
|
+
|
|
108
|
+
<div class="pilwrap ">
|
|
109
|
+
<a class="pilcrow" href="#section-5">¶</a>
|
|
110
|
+
</div>
|
|
111
|
+
<p>POST request</p>
|
|
112
|
+
|
|
113
|
+
</div>
|
|
114
|
+
|
|
115
|
+
<div class="content"><div class='highlight'><pre>post <span class="string">'/sample40/callback'</span> <span class="keyword">do</span>
|
|
116
|
+
|
|
117
|
+
source_id = <span class="string">''</span>
|
|
118
|
+
client_id = <span class="string">''</span>
|
|
119
|
+
private_key = <span class="string">''</span></pre></div></div>
|
|
120
|
+
|
|
121
|
+
</li>
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
<li id="section-6">
|
|
125
|
+
<div class="annotation">
|
|
126
|
+
|
|
127
|
+
<div class="pilwrap ">
|
|
128
|
+
<a class="pilcrow" href="#section-6">¶</a>
|
|
129
|
+
</div>
|
|
130
|
+
<p>Get callback request</p>
|
|
131
|
+
|
|
132
|
+
</div>
|
|
133
|
+
|
|
134
|
+
<div class="content"><div class='highlight'><pre> data = <span class="constant">JSON</span>.parse(request.body.read)
|
|
135
|
+
<span class="keyword">begin</span>
|
|
136
|
+
participant = <span class="keyword">nil</span>
|
|
137
|
+
raise <span class="string">'Empty params!'</span> <span class="keyword">if</span> data.empty?</pre></div></div>
|
|
138
|
+
|
|
139
|
+
</li>
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
<li id="section-7">
|
|
143
|
+
<div class="annotation">
|
|
144
|
+
|
|
145
|
+
<div class="pilwrap ">
|
|
146
|
+
<a class="pilcrow" href="#section-7">¶</a>
|
|
147
|
+
</div>
|
|
148
|
+
<p>Get value of SourceId</p>
|
|
149
|
+
|
|
150
|
+
</div>
|
|
151
|
+
|
|
152
|
+
<div class="content"><div class='highlight'><pre> data.each <span class="keyword">do</span> |key, value|
|
|
153
|
+
<span class="keyword">if</span> key == <span class="string">'SourceId'</span>
|
|
154
|
+
source_id = value
|
|
155
|
+
<span class="keyword">end</span>
|
|
156
|
+
<span class="keyword">if</span> key == <span class="string">'SerializedData'</span>
|
|
157
|
+
data = <span class="constant">JSON</span>.parse(value)
|
|
158
|
+
data.each <span class="keyword">do</span> |key, value|
|
|
159
|
+
<span class="keyword">if</span> key == <span class="string">'ParticipantGuid'</span>
|
|
160
|
+
participant = value
|
|
161
|
+
<span class="keyword">end</span>
|
|
162
|
+
<span class="keyword">end</span>
|
|
163
|
+
<span class="keyword">end</span>
|
|
164
|
+
<span class="keyword">end</span></pre></div></div>
|
|
165
|
+
|
|
166
|
+
</li>
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
<li id="section-8">
|
|
170
|
+
<div class="annotation">
|
|
171
|
+
|
|
172
|
+
<div class="pilwrap ">
|
|
173
|
+
<a class="pilcrow" href="#section-8">¶</a>
|
|
174
|
+
</div>
|
|
175
|
+
<p>Get private key and client_id from file user_info.txt</p>
|
|
176
|
+
|
|
177
|
+
</div>
|
|
178
|
+
|
|
179
|
+
<div class="content"><div class='highlight'><pre> <span class="keyword">if</span> <span class="constant">File</span>.exist?(<span class="string">"<span class="subst">#{<span class="constant">File</span>.dirname(__FILE_<span class="number">_</span>)}</span>/../public/user_info.txt"</span>)
|
|
180
|
+
contents = <span class="constant">File</span>.read(<span class="string">"<span class="subst">#{<span class="constant">File</span>.dirname(__FILE_<span class="number">_</span>)}</span>/../public/user_info.txt"</span>)
|
|
181
|
+
contents = contents.split(<span class="string">' '</span>)
|
|
182
|
+
client_id = contents[<span class="number">0</span>]
|
|
183
|
+
private_key = contents[<span class="number">1</span>]
|
|
184
|
+
<span class="keyword">end</span></pre></div></div>
|
|
185
|
+
|
|
186
|
+
</li>
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
<li id="section-9">
|
|
190
|
+
<div class="annotation">
|
|
191
|
+
|
|
192
|
+
<div class="pilwrap ">
|
|
193
|
+
<a class="pilcrow" href="#section-9">¶</a>
|
|
194
|
+
</div>
|
|
195
|
+
<p>Create new Form</p>
|
|
196
|
+
|
|
197
|
+
</div>
|
|
198
|
+
|
|
199
|
+
<div class="content"><div class='highlight'><pre> form = <span class="constant">GroupDocs::Signature::Form</span>.new({<span class="symbol">:id</span> => source_id})</pre></div></div>
|
|
200
|
+
|
|
201
|
+
</li>
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
<li id="section-10">
|
|
205
|
+
<div class="annotation">
|
|
206
|
+
|
|
207
|
+
<div class="pilwrap ">
|
|
208
|
+
<a class="pilcrow" href="#section-10">¶</a>
|
|
209
|
+
</div>
|
|
210
|
+
<p>Create new Signature</p>
|
|
211
|
+
|
|
212
|
+
</div>
|
|
213
|
+
|
|
214
|
+
<div class="content"><div class='highlight'><pre> signature = <span class="constant">GroupDocs::Signature</span>.new()
|
|
215
|
+
doc_info = signature.get_sign_form_participant!(form.id , participant, {<span class="symbol">:client_id</span> => client_id, <span class="symbol">:private_key</span> => private_key} )
|
|
216
|
+
|
|
217
|
+
guid = doc_info[<span class="symbol">:documentGuid</span>]
|
|
218
|
+
|
|
219
|
+
out_file = <span class="constant">File</span>.new(<span class="string">"<span class="subst">#{<span class="constant">File</span>.dirname(__FILE_<span class="number">_</span>)}</span>/../public/callback_info.txt"</span>, <span class="string">'w'</span>)</pre></div></div>
|
|
220
|
+
|
|
221
|
+
</li>
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
<li id="section-11">
|
|
225
|
+
<div class="annotation">
|
|
226
|
+
|
|
227
|
+
<div class="pilwrap ">
|
|
228
|
+
<a class="pilcrow" href="#section-11">¶</a>
|
|
229
|
+
</div>
|
|
230
|
+
<p>white space is required</p>
|
|
231
|
+
|
|
232
|
+
</div>
|
|
233
|
+
|
|
234
|
+
<div class="content"><div class='highlight'><pre> out_file.write(guid)
|
|
235
|
+
out_file.close
|
|
236
|
+
|
|
237
|
+
<span class="keyword">rescue</span> <span class="constant">Exception</span> => e
|
|
238
|
+
err = e.message
|
|
239
|
+
<span class="keyword">end</span>
|
|
240
|
+
<span class="keyword">end</span></pre></div></div>
|
|
241
|
+
|
|
242
|
+
</li>
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
<li id="section-12">
|
|
246
|
+
<div class="annotation">
|
|
247
|
+
|
|
248
|
+
<div class="pilwrap ">
|
|
249
|
+
<a class="pilcrow" href="#section-12">¶</a>
|
|
250
|
+
</div>
|
|
251
|
+
<p>POST request</p>
|
|
252
|
+
|
|
253
|
+
</div>
|
|
254
|
+
|
|
255
|
+
<div class="content"><div class='highlight'><pre>post <span class="string">'/sample40'</span> <span class="keyword">do</span></pre></div></div>
|
|
256
|
+
|
|
257
|
+
</li>
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
<li id="section-13">
|
|
261
|
+
<div class="annotation">
|
|
262
|
+
|
|
263
|
+
<div class="pilwrap ">
|
|
264
|
+
<a class="pilcrow" href="#section-13">¶</a>
|
|
265
|
+
</div>
|
|
266
|
+
<p>set variables</p>
|
|
267
|
+
|
|
268
|
+
</div>
|
|
269
|
+
|
|
270
|
+
<div class="content"><div class='highlight'><pre> set <span class="symbol">:client_id</span>, params[<span class="symbol">:clientId</span>]
|
|
271
|
+
set <span class="symbol">:private_key</span>, params[<span class="symbol">:privateKey</span>]
|
|
272
|
+
set <span class="symbol">:form_guid</span>, params[<span class="symbol">:formGuid</span>]
|
|
273
|
+
set <span class="symbol">:callback</span>, params[<span class="symbol">:callbackUrl</span>]
|
|
274
|
+
set <span class="symbol">:base_path</span>, params[<span class="symbol">:basePath</span>]
|
|
275
|
+
|
|
276
|
+
<span class="keyword">begin</span></pre></div></div>
|
|
277
|
+
|
|
278
|
+
</li>
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
<li id="section-14">
|
|
282
|
+
<div class="annotation">
|
|
283
|
+
|
|
284
|
+
<div class="pilwrap ">
|
|
285
|
+
<a class="pilcrow" href="#section-14">¶</a>
|
|
286
|
+
</div>
|
|
287
|
+
<p>Check required variables</p>
|
|
288
|
+
|
|
289
|
+
</div>
|
|
290
|
+
|
|
291
|
+
<div class="content"><div class='highlight'><pre> raise <span class="string">'Please enter all required parameters'</span> <span class="keyword">if</span> settings.client_id.empty? <span class="keyword">or</span> settings.private_key.empty? <span class="keyword">or</span> settings.form_guid.empty?
|
|
292
|
+
|
|
293
|
+
<span class="keyword">if</span> settings.base_path.empty? <span class="keyword">then</span> settings.base_path = <span class="string">'https://api.groupdocs.com'</span> <span class="keyword">end</span></pre></div></div>
|
|
294
|
+
|
|
295
|
+
</li>
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
<li id="section-15">
|
|
299
|
+
<div class="annotation">
|
|
300
|
+
|
|
301
|
+
<div class="pilwrap ">
|
|
302
|
+
<a class="pilcrow" href="#section-15">¶</a>
|
|
303
|
+
</div>
|
|
304
|
+
<p>Configure your access to API server</p>
|
|
305
|
+
|
|
306
|
+
</div>
|
|
307
|
+
|
|
308
|
+
<div class="content"><div class='highlight'><pre> <span class="constant">GroupDocs</span>.configure <span class="keyword">do</span> |groupdocs|
|
|
309
|
+
groupdocs.client_id = settings.client_id
|
|
310
|
+
groupdocs.private_key = settings.private_key</pre></div></div>
|
|
311
|
+
|
|
312
|
+
</li>
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
<li id="section-16">
|
|
316
|
+
<div class="annotation">
|
|
317
|
+
|
|
318
|
+
<div class="pilwrap ">
|
|
319
|
+
<a class="pilcrow" href="#section-16">¶</a>
|
|
320
|
+
</div>
|
|
321
|
+
<p>Optionally specify API server and version</p>
|
|
322
|
+
|
|
323
|
+
</div>
|
|
324
|
+
|
|
325
|
+
<div class="content"><div class='highlight'><pre> groupdocs.api_server = settings.base_path <span class="comment"># default is 'https://api.groupdocs.com'</span>
|
|
326
|
+
<span class="keyword">end</span></pre></div></div>
|
|
327
|
+
|
|
328
|
+
</li>
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
<li id="section-17">
|
|
332
|
+
<div class="annotation">
|
|
333
|
+
|
|
334
|
+
<div class="pilwrap ">
|
|
335
|
+
<a class="pilcrow" href="#section-17">¶</a>
|
|
336
|
+
</div>
|
|
337
|
+
<p>Write client and private key to the file for callback job</p>
|
|
338
|
+
|
|
339
|
+
</div>
|
|
340
|
+
|
|
341
|
+
<div class="content"><div class='highlight'><pre> <span class="keyword">if</span> settings.callback
|
|
342
|
+
out_file = <span class="constant">File</span>.new(<span class="string">"<span class="subst">#{<span class="constant">File</span>.dirname(__FILE_<span class="number">_</span>)}</span>/../public/user_info.txt"</span>, <span class="string">'w'</span>)</pre></div></div>
|
|
343
|
+
|
|
344
|
+
</li>
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
<li id="section-18">
|
|
348
|
+
<div class="annotation">
|
|
349
|
+
|
|
350
|
+
<div class="pilwrap ">
|
|
351
|
+
<a class="pilcrow" href="#section-18">¶</a>
|
|
352
|
+
</div>
|
|
353
|
+
<p>white space is required</p>
|
|
354
|
+
|
|
355
|
+
</div>
|
|
356
|
+
|
|
357
|
+
<div class="content"><div class='highlight'><pre> out_file.write(<span class="string">"<span class="subst">#{settings.client_id}</span> "</span>)
|
|
358
|
+
out_file.write(<span class="string">"<span class="subst">#{settings.private_key}</span> "</span>)
|
|
359
|
+
out_file.close
|
|
360
|
+
<span class="keyword">end</span>
|
|
361
|
+
|
|
362
|
+
guid = settings.form_guid</pre></div></div>
|
|
363
|
+
|
|
364
|
+
</li>
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
<li id="section-19">
|
|
368
|
+
<div class="annotation">
|
|
369
|
+
|
|
370
|
+
<div class="pilwrap ">
|
|
371
|
+
<a class="pilcrow" href="#section-19">¶</a>
|
|
372
|
+
</div>
|
|
373
|
+
<p>Create new Form with guid</p>
|
|
374
|
+
|
|
375
|
+
</div>
|
|
376
|
+
|
|
377
|
+
<div class="content"><div class='highlight'><pre> form = <span class="constant">GroupDocs::Signature::Form</span>.new()
|
|
378
|
+
form.name = <span class="string">"Test Form"</span></pre></div></div>
|
|
379
|
+
|
|
380
|
+
</li>
|
|
381
|
+
|
|
382
|
+
|
|
383
|
+
<li id="section-20">
|
|
384
|
+
<div class="annotation">
|
|
385
|
+
|
|
386
|
+
<div class="pilwrap ">
|
|
387
|
+
<a class="pilcrow" href="#section-20">¶</a>
|
|
388
|
+
</div>
|
|
389
|
+
<p>Get id with new Form</p>
|
|
390
|
+
|
|
391
|
+
</div>
|
|
392
|
+
|
|
393
|
+
<div class="content"><div class='highlight'><pre> id = form.create!({<span class="symbol">:formId</span> => guid})</pre></div></div>
|
|
394
|
+
|
|
395
|
+
</li>
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
<li id="section-21">
|
|
399
|
+
<div class="annotation">
|
|
400
|
+
|
|
401
|
+
<div class="pilwrap ">
|
|
402
|
+
<a class="pilcrow" href="#section-21">¶</a>
|
|
403
|
+
</div>
|
|
404
|
+
<p>Get Form</p>
|
|
405
|
+
|
|
406
|
+
</div>
|
|
407
|
+
|
|
408
|
+
<div class="content"><div class='highlight'><pre> form = <span class="constant">GroupDocs::Signature::Form</span>.get!(id)</pre></div></div>
|
|
409
|
+
|
|
410
|
+
</li>
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
<li id="section-22">
|
|
414
|
+
<div class="annotation">
|
|
415
|
+
|
|
416
|
+
<div class="pilwrap ">
|
|
417
|
+
<a class="pilcrow" href="#section-22">¶</a>
|
|
418
|
+
</div>
|
|
419
|
+
<p>Publish the Form</p>
|
|
420
|
+
|
|
421
|
+
</div>
|
|
422
|
+
|
|
423
|
+
<div class="content"><div class='highlight'><pre> form.publish!({<span class="symbol">:callbackUrl</span> => settings.callback})</pre></div></div>
|
|
424
|
+
|
|
425
|
+
</li>
|
|
426
|
+
|
|
427
|
+
|
|
428
|
+
<li id="section-23">
|
|
429
|
+
<div class="annotation">
|
|
430
|
+
|
|
431
|
+
<div class="pilwrap ">
|
|
432
|
+
<a class="pilcrow" href="#section-23">¶</a>
|
|
433
|
+
</div>
|
|
434
|
+
<p>Get url from request</p>
|
|
435
|
+
|
|
436
|
+
</div>
|
|
437
|
+
|
|
438
|
+
<div class="content"><div class='highlight'><pre> <span class="keyword">case</span> settings.base_path
|
|
439
|
+
|
|
440
|
+
<span class="keyword">when</span> <span class="string">'https://stage-api-groupdocs.dynabic.com'</span>
|
|
441
|
+
url = <span class="string">"http://stage-apps-groupdocs.dynabic.com/signature2/forms/signembed/ <span class="subst">#{guid}</span>"</span>
|
|
442
|
+
<span class="keyword">when</span> <span class="string">'https://dev-api-groupdocs.dynabic.com'</span>
|
|
443
|
+
url = <span class="string">"http://dev-apps-groupdocs.dynabic.com/signature2/forms/signembed/ <span class="subst">#{guid}</span>"</span>
|
|
444
|
+
<span class="keyword">else</span>
|
|
445
|
+
url = <span class="string">"https://apps.groupdocs.com/signature2/forms/signembed/ <span class="subst">#{guid}</span>"</span>
|
|
446
|
+
<span class="keyword">end</span></pre></div></div>
|
|
447
|
+
|
|
448
|
+
</li>
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
<li id="section-24">
|
|
452
|
+
<div class="annotation">
|
|
453
|
+
|
|
454
|
+
<div class="pilwrap ">
|
|
455
|
+
<a class="pilcrow" href="#section-24">¶</a>
|
|
456
|
+
</div>
|
|
457
|
+
<p>Delete file callback_info.txt</p>
|
|
458
|
+
|
|
459
|
+
</div>
|
|
460
|
+
|
|
461
|
+
<div class="content"><div class='highlight'><pre> <span class="keyword">if</span> <span class="constant">File</span>.exist?(<span class="string">"<span class="subst">#{<span class="constant">File</span>.dirname(__FILE_<span class="number">_</span>)}</span>/../public/callback_info.txt"</span>)
|
|
462
|
+
<span class="constant">File</span>.delete(<span class="string">"<span class="subst">#{<span class="constant">File</span>.dirname(__FILE_<span class="number">_</span>)}</span>/../public/callback_info.txt"</span>)
|
|
463
|
+
<span class="keyword">end</span></pre></div></div>
|
|
464
|
+
|
|
465
|
+
</li>
|
|
466
|
+
|
|
467
|
+
|
|
468
|
+
<li id="section-25">
|
|
469
|
+
<div class="annotation">
|
|
470
|
+
|
|
471
|
+
<div class="pilwrap ">
|
|
472
|
+
<a class="pilcrow" href="#section-25">¶</a>
|
|
473
|
+
</div>
|
|
474
|
+
<p>Add the signature to url the request</p>
|
|
475
|
+
|
|
476
|
+
</div>
|
|
477
|
+
|
|
478
|
+
<div class="content"><div class='highlight'><pre> iframe = <span class="constant">GroupDocs::Api::Request</span>.new(<span class="symbol">:path</span> => url).prepare_and_sign_url
|
|
479
|
+
iframe = <span class="string">"<iframe width='100%' id='downloadframe' height='600' src='<span class="subst">#{iframe}</span>'></iframe>"</span>
|
|
480
|
+
|
|
481
|
+
<span class="keyword">rescue</span> <span class="constant">Exception</span> => e
|
|
482
|
+
err = e.message
|
|
483
|
+
<span class="keyword">end</span></pre></div></div>
|
|
484
|
+
|
|
485
|
+
</li>
|
|
486
|
+
|
|
487
|
+
|
|
488
|
+
<li id="section-26">
|
|
489
|
+
<div class="annotation">
|
|
490
|
+
|
|
491
|
+
<div class="pilwrap ">
|
|
492
|
+
<a class="pilcrow" href="#section-26">¶</a>
|
|
493
|
+
</div>
|
|
494
|
+
<p>Set variables for template</p>
|
|
495
|
+
|
|
496
|
+
</div>
|
|
497
|
+
|
|
498
|
+
<div class="content"><div class='highlight'><pre> haml <span class="symbol">:sample40</span>, <span class="symbol">:locals</span> => {<span class="symbol">:userId</span> => settings.client_id,
|
|
499
|
+
<span class="symbol">:privateKey</span> => settings.private_key,
|
|
500
|
+
<span class="symbol">:callback</span> => settings.callback,
|
|
501
|
+
<span class="symbol">:iframe</span> => iframe,
|
|
502
|
+
<span class="symbol">:err</span> => err}
|
|
503
|
+
<span class="keyword">end</span></pre></div></div>
|
|
504
|
+
|
|
505
|
+
</li>
|
|
506
|
+
|
|
507
|
+
</ul>
|
|
508
|
+
</div>
|
|
509
|
+
</body>
|
|
510
|
+
</html>
|