groupdocs 1.2.8 → 1.2.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. data/examples/api-samples/README.md +17 -6
  2. data/examples/api-samples/app.rb +0 -2
  3. data/examples/api-samples/public/GroupDocs_Signature_Demo.pdf +0 -0
  4. data/examples/api-samples/public/docs/docco.css +192 -0
  5. data/examples/api-samples/public/docs/envelope-sample.html +132 -0
  6. data/examples/api-samples/public/docs/sample1.html +26 -0
  7. data/examples/api-samples/public/docs/sample10.html +49 -0
  8. data/examples/api-samples/public/docs/sample11.html +87 -0
  9. data/examples/api-samples/public/docs/sample12.html +40 -0
  10. data/examples/api-samples/public/docs/sample13.html +41 -0
  11. data/examples/api-samples/public/docs/sample14.html +30 -0
  12. data/examples/api-samples/public/docs/sample15.html +27 -0
  13. data/examples/api-samples/public/docs/sample16.html +25 -0
  14. data/examples/api-samples/public/docs/sample17.html +37 -0
  15. data/examples/api-samples/public/docs/sample18.html +62 -0
  16. data/examples/api-samples/public/docs/sample2.html +30 -0
  17. data/examples/api-samples/public/docs/sample3.html +34 -0
  18. data/examples/api-samples/public/docs/sample4.html +41 -0
  19. data/examples/api-samples/public/docs/sample5.html +56 -0
  20. data/examples/api-samples/public/docs/sample6.html +48 -0
  21. data/examples/api-samples/public/docs/sample7.html +43 -0
  22. data/examples/api-samples/public/docs/sample8.html +54 -0
  23. data/examples/api-samples/public/docs/sample9.html +31 -0
  24. data/examples/api-samples/samples/envelope-sample.rb +132 -0
  25. data/examples/api-samples/samples/sample1.rb +10 -2
  26. data/examples/api-samples/samples/sample10.rb +17 -5
  27. data/examples/api-samples/samples/sample11.rb +86 -0
  28. data/examples/api-samples/samples/sample12.rb +39 -0
  29. data/examples/api-samples/samples/sample13.rb +40 -0
  30. data/examples/api-samples/samples/sample14.rb +29 -0
  31. data/examples/api-samples/samples/sample15.rb +26 -0
  32. data/examples/api-samples/samples/sample16.rb +24 -0
  33. data/examples/api-samples/samples/sample17.rb +36 -0
  34. data/examples/api-samples/samples/sample18.rb +61 -0
  35. data/examples/api-samples/samples/sample2.rb +14 -4
  36. data/examples/api-samples/samples/sample3.rb +14 -4
  37. data/examples/api-samples/samples/sample4.rb +12 -3
  38. data/examples/api-samples/samples/sample5.rb +13 -2
  39. data/examples/api-samples/samples/sample6.rb +18 -6
  40. data/examples/api-samples/samples/sample7.rb +9 -0
  41. data/examples/api-samples/samples/sample8.rb +17 -4
  42. data/examples/api-samples/samples/sample9.rb +10 -2
  43. data/examples/api-samples/views/envelope_sample.haml +73 -0
  44. data/examples/api-samples/views/index.haml +18 -0
  45. data/examples/api-samples/views/sample1.haml +21 -0
  46. data/examples/api-samples/views/sample10.haml +21 -0
  47. data/examples/api-samples/views/sample11.haml +141 -0
  48. data/examples/api-samples/views/sample12.haml +94 -0
  49. data/examples/api-samples/views/sample13.haml +90 -0
  50. data/examples/api-samples/views/sample14.haml +86 -0
  51. data/examples/api-samples/views/sample15.haml +75 -0
  52. data/examples/api-samples/views/sample16.haml +68 -0
  53. data/examples/api-samples/views/sample17.haml +80 -0
  54. data/examples/api-samples/views/sample18.haml +87 -0
  55. data/examples/api-samples/views/sample2.haml +21 -0
  56. data/examples/api-samples/views/sample3.haml +23 -2
  57. data/examples/api-samples/views/sample4.haml +21 -0
  58. data/examples/api-samples/views/sample5.haml +21 -0
  59. data/examples/api-samples/views/sample6.haml +22 -1
  60. data/examples/api-samples/views/sample7.haml +21 -0
  61. data/examples/api-samples/views/sample8.haml +22 -1
  62. data/examples/api-samples/views/sample9.haml +21 -0
  63. data/lib/groupdocs/job.rb +5 -3
  64. data/lib/groupdocs/user.rb +33 -0
  65. data/lib/groupdocs/version.rb +1 -1
  66. data/spec/groupdocs/job_spec.rb +5 -0
  67. data/spec/groupdocs/user_spec.rb +22 -0
  68. data/spec/support/json/update_account.json +10 -0
  69. metadata +45 -4
@@ -1,12 +1,23 @@
1
1
  ## Examples
2
2
 
3
- ### Viewer
4
- Grab the copy of examples
3
+ ### GroupDocs Ruby SDK Example App
5
4
 
5
+ ####Grab the copy of examples from GitHub:
6
+ 1) git clone git@github.com:groupdocs/groupdocs-ruby.git
7
+ 2) cd to examples/api-samples or copy api-samples folder somethere
8
+
9
+ ####Install bundler:
6
10
  gem install bundler # unless it's already installed
7
- git clone git@github.com:groupdocs/groupdocs-ruby.git
8
- cd groupdocs-ruby/examples/viewer
9
- bundle install --path vendor/bundle
11
+
12
+ ####Install dependecies:
13
+ bundle install
14
+
15
+ ####Run the web app:
10
16
  bundle exec ruby app.rb
11
17
 
12
- Now open `http://localhost:4567` and try it!
18
+ ####Now open `http://localhost:4567` and try it!
19
+
20
+
21
+
22
+ ### Live Demo
23
+ See live demo for api samples [here](http://groupdocs-ruby-samples.herokuapp.com)
@@ -3,8 +3,6 @@ require 'groupdocs'
3
3
  require 'haml'
4
4
  require 'pp'
5
5
 
6
- GroupDocs.api_version = '2.0'
7
-
8
6
  get '/' do
9
7
  haml :index
10
8
  end
@@ -0,0 +1,192 @@
1
+ /*--------------------- Layout and Typography ----------------------------*/
2
+ body {
3
+ font-family: 'Palatino Linotype', 'Book Antiqua', Palatino, FreeSerif, serif;
4
+ font-size: 15px;
5
+ line-height: 22px;
6
+ color: #252519;
7
+ margin: 0; padding: 0;
8
+ }
9
+ a {
10
+ color: #261a3b;
11
+ }
12
+ a:visited {
13
+ color: #261a3b;
14
+ }
15
+ p {
16
+ margin: 0 0 15px 0;
17
+ }
18
+ h1, h2, h3, h4, h5, h6 {
19
+ margin: 0px 0 15px 0;
20
+ }
21
+ h1 {
22
+ margin-top: 40px;
23
+ }
24
+ hr {
25
+ border: 0 none;
26
+ border-top: 1px solid #e5e5ee;
27
+ height: 1px;
28
+ margin: 20px 0;
29
+ }
30
+ #container {
31
+ position: relative;
32
+ }
33
+ #background {
34
+ position: fixed;
35
+ top: 0; left: 525px; right: 0; bottom: 0;
36
+ background: #f5f5ff;
37
+ border-left: 1px solid #e5e5ee;
38
+ z-index: -1;
39
+ }
40
+ #jump_to, #jump_page {
41
+ background: white;
42
+ -webkit-box-shadow: 0 0 25px #777; -moz-box-shadow: 0 0 25px #777;
43
+ -webkit-border-bottom-left-radius: 5px; -moz-border-radius-bottomleft: 5px;
44
+ font: 10px Arial;
45
+ text-transform: uppercase;
46
+ cursor: pointer;
47
+ text-align: right;
48
+ }
49
+ #jump_to, #jump_wrapper {
50
+ position: fixed;
51
+ right: 0; top: 0;
52
+ padding: 5px 10px;
53
+ }
54
+ #jump_wrapper {
55
+ padding: 0;
56
+ display: none;
57
+ }
58
+ #jump_to:hover #jump_wrapper {
59
+ display: block;
60
+ }
61
+ #jump_page {
62
+ padding: 5px 0 3px;
63
+ margin: 0 0 25px 25px;
64
+ }
65
+ #jump_page .source {
66
+ display: block;
67
+ padding: 5px 10px;
68
+ text-decoration: none;
69
+ border-top: 1px solid #eee;
70
+ }
71
+ #jump_page .source:hover {
72
+ background: #f5f5ff;
73
+ }
74
+ #jump_page .source:first-child {
75
+ }
76
+ table td {
77
+ border: 0;
78
+ outline: 0;
79
+ }
80
+ td.docs, th.docs {
81
+ max-width: 450px;
82
+ min-width: 450px;
83
+ min-height: 5px;
84
+ padding: 10px 25px 1px 50px;
85
+ overflow-x: hidden;
86
+ vertical-align: top;
87
+ text-align: left;
88
+ }
89
+ .docs pre {
90
+ margin: 15px 0 15px;
91
+ padding-left: 15px;
92
+ }
93
+ .docs p tt, .docs p code {
94
+ background: #f8f8ff;
95
+ border: 1px solid #dedede;
96
+ font-size: 12px;
97
+ padding: 0 0.2em;
98
+ }
99
+ .pilwrap {
100
+ position: relative;
101
+ }
102
+ .pilcrow {
103
+ font: 12px Arial;
104
+ text-decoration: none;
105
+ color: #454545;
106
+ position: absolute;
107
+ top: 3px; left: -20px;
108
+ padding: 1px 2px;
109
+ opacity: 0;
110
+ -webkit-transition: opacity 0.2s linear;
111
+ }
112
+ td.docs:hover .pilcrow {
113
+ opacity: 1;
114
+ }
115
+ td.code, th.code {
116
+ padding: 14px 15px 16px 25px;
117
+ width: 100%;
118
+ vertical-align: top;
119
+ background: #f5f5ff;
120
+ border-left: 1px solid #e5e5ee;
121
+ }
122
+ pre, tt, code {
123
+ font-size: 12px; line-height: 18px;
124
+ font-family: Menlo, Monaco, Consolas, "Lucida Console", monospace;
125
+ margin: 0; padding: 0;
126
+ }
127
+
128
+
129
+ /*---------------------- Syntax Highlighting -----------------------------*/
130
+ td.linenos { background-color: #f0f0f0; padding-right: 10px; }
131
+ span.lineno { background-color: #f0f0f0; padding: 0 5px 0 5px; }
132
+ body .hll { background-color: #ffffcc }
133
+ body .c { color: #408080; font-style: italic } /* Comment */
134
+ body .err { border: 1px solid #FF0000 } /* Error */
135
+ body .k { color: #954121 } /* Keyword */
136
+ body .o { color: #666666 } /* Operator */
137
+ body .cm { color: #408080; font-style: italic } /* Comment.Multiline */
138
+ body .cp { color: #BC7A00 } /* Comment.Preproc */
139
+ body .c1 { color: #408080; font-style: italic } /* Comment.Single */
140
+ body .cs { color: #408080; font-style: italic } /* Comment.Special */
141
+ body .gd { color: #A00000 } /* Generic.Deleted */
142
+ body .ge { font-style: italic } /* Generic.Emph */
143
+ body .gr { color: #FF0000 } /* Generic.Error */
144
+ body .gh { color: #000080; font-weight: bold } /* Generic.Heading */
145
+ body .gi { color: #00A000 } /* Generic.Inserted */
146
+ body .go { color: #808080 } /* Generic.Output */
147
+ body .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
148
+ body .gs { font-weight: bold } /* Generic.Strong */
149
+ body .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
150
+ body .gt { color: #0040D0 } /* Generic.Traceback */
151
+ body .kc { color: #954121 } /* Keyword.Constant */
152
+ body .kd { color: #954121; font-weight: bold } /* Keyword.Declaration */
153
+ body .kn { color: #954121; font-weight: bold } /* Keyword.Namespace */
154
+ body .kp { color: #954121 } /* Keyword.Pseudo */
155
+ body .kr { color: #954121; font-weight: bold } /* Keyword.Reserved */
156
+ body .kt { color: #B00040 } /* Keyword.Type */
157
+ body .m { color: #666666 } /* Literal.Number */
158
+ body .s { color: #219161 } /* Literal.String */
159
+ body .na { color: #7D9029 } /* Name.Attribute */
160
+ body .nb { color: #954121 } /* Name.Builtin */
161
+ body .nc { color: #0000FF; font-weight: bold } /* Name.Class */
162
+ body .no { color: #880000 } /* Name.Constant */
163
+ body .nd { color: #AA22FF } /* Name.Decorator */
164
+ body .ni { color: #999999; font-weight: bold } /* Name.Entity */
165
+ body .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
166
+ body .nf { color: #0000FF } /* Name.Function */
167
+ body .nl { color: #A0A000 } /* Name.Label */
168
+ body .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
169
+ body .nt { color: #954121; font-weight: bold } /* Name.Tag */
170
+ body .nv { color: #19469D } /* Name.Variable */
171
+ body .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
172
+ body .w { color: #bbbbbb } /* Text.Whitespace */
173
+ body .mf { color: #666666 } /* Literal.Number.Float */
174
+ body .mh { color: #666666 } /* Literal.Number.Hex */
175
+ body .mi { color: #666666 } /* Literal.Number.Integer */
176
+ body .mo { color: #666666 } /* Literal.Number.Oct */
177
+ body .sb { color: #219161 } /* Literal.String.Backtick */
178
+ body .sc { color: #219161 } /* Literal.String.Char */
179
+ body .sd { color: #219161; font-style: italic } /* Literal.String.Doc */
180
+ body .s2 { color: #219161 } /* Literal.String.Double */
181
+ body .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
182
+ body .sh { color: #219161 } /* Literal.String.Heredoc */
183
+ body .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
184
+ body .sx { color: #954121 } /* Literal.String.Other */
185
+ body .sr { color: #BB6688 } /* Literal.String.Regex */
186
+ body .s1 { color: #219161 } /* Literal.String.Single */
187
+ body .ss { color: #19469D } /* Literal.String.Symbol */
188
+ body .bp { color: #954121 } /* Name.Builtin.Pseudo */
189
+ body .vc { color: #19469D } /* Name.Variable.Class */
190
+ body .vg { color: #19469D } /* Name.Variable.Global */
191
+ body .vi { color: #19469D } /* Name.Variable.Instance */
192
+ body .il { color: #666666 } /* Literal.Number.Integer.Long */
@@ -0,0 +1,132 @@
1
+ <!DOCTYPE html> <html> <head> <title>envelope-sample.rb</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <link rel="stylesheet" media="all" href="docco.css" /> </head> <body> <div id="container"> <div id="background"></div> <div id="jump_to"> Jump To &hellip; <div id="jump_wrapper"> <div id="jump_page"> <a class="source" href="envelope-sample.html"> envelope-sample.rb </a> <a class="source" href="sample1.html"> sample1.rb </a> <a class="source" href="sample10.html"> sample10.rb </a> <a class="source" href="sample11.html"> sample11.rb </a> <a class="source" href="sample12.html"> sample12.rb </a> <a class="source" href="sample13.html"> sample13.rb </a> <a class="source" href="sample14.html"> sample14.rb </a> <a class="source" href="sample15.html"> sample15.rb </a> <a class="source" href="sample16.html"> sample16.rb </a> <a class="source" href="sample17.html"> sample17.rb </a> <a class="source" href="sample18.html"> sample18.rb </a> <a class="source" href="sample2.html"> sample2.rb </a> <a class="source" href="sample3.html"> sample3.rb </a> <a class="source" href="sample4.html"> sample4.rb </a> <a class="source" href="sample5.html"> sample5.rb </a> <a class="source" href="sample6.html"> sample6.rb </a> <a class="source" href="sample7.html"> sample7.rb </a> <a class="source" href="sample8.html"> sample8.rb </a> <a class="source" href="sample9.html"> sample9.rb </a> </div> </div> </div> <table cellpadding="0" cellspacing="0"> <thead> <tr> <th class="docs"> <h1> envelope-sample.rb </h1> </th> <th class="code"> </th> </tr> </thead> <tbody> <tr id="section-1"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-1">&#182;</a> </div> <p>GET request</p> </td> <td class="code"> <div class="highlight"><pre><span class="n">get</span> <span class="s1">&#39;/envelope-sample&#39;</span> <span class="k">do</span>
2
+ <span class="n">haml</span> <span class="ss">:envelope_sample</span>
3
+ <span class="k">end</span>
4
+
5
+
6
+ <span class="n">post</span> <span class="s1">&#39;/envelope-sample/sign&#39;</span> <span class="k">do</span>
7
+
8
+ <span class="n">data</span> <span class="o">=</span> <span class="no">JSON</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">body</span><span class="o">.</span><span class="n">read</span><span class="p">)</span>
9
+ <span class="k">begin</span>
10
+ <span class="k">raise</span> <span class="s2">&quot;Empty params!&quot;</span> <span class="k">if</span> <span class="n">data</span><span class="o">.</span><span class="n">empty?</span>
11
+
12
+
13
+ <span class="n">outFile</span> <span class="o">=</span> <span class="no">File</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="s2">&quot;signed&quot;</span><span class="p">,</span> <span class="s2">&quot;w&quot;</span><span class="p">)</span>
14
+ <span class="n">data</span><span class="o">.</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="o">|</span>
15
+ <span class="n">outFile</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">#{</span><span class="n">key</span><span class="si">}</span><span class="s2">: </span><span class="si">#{</span><span class="n">value</span><span class="si">}</span><span class="s2"> </span><span class="se">\n</span><span class="s2">&quot;</span><span class="p">)</span>
16
+ <span class="k">end</span>
17
+ <span class="n">outFile</span><span class="o">.</span><span class="n">close</span>
18
+ <span class="k">rescue</span> <span class="no">Exception</span> <span class="o">=&gt;</span> <span class="n">e</span>
19
+ <span class="n">err</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">message</span>
20
+ <span class="k">end</span>
21
+ <span class="k">end</span>
22
+
23
+
24
+
25
+ <span class="n">post</span> <span class="s1">&#39;/envelope-sample/sign-and-download&#39;</span> <span class="k">do</span>
26
+ <span class="n">data</span> <span class="o">=</span> <span class="no">JSON</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">body</span><span class="o">.</span><span class="n">read</span><span class="p">)</span>
27
+ <span class="k">begin</span>
28
+ <span class="k">raise</span> <span class="s2">&quot;Empty params!&quot;</span> <span class="k">if</span> <span class="n">data</span><span class="o">.</span><span class="n">empty?</span>
29
+ <span class="no">GroupDocs</span><span class="o">.</span><span class="n">configure</span> <span class="k">do</span> <span class="o">|</span><span class="n">groupdocs</span><span class="o">|</span>
30
+ <span class="n">groupdocs</span><span class="o">.</span><span class="n">client_id</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span> <span class="c1"># Your client Client ID here</span>
31
+ <span class="n">groupdocs</span><span class="o">.</span><span class="n">private_key</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span> <span class="c1"># Your API Key here</span>
32
+ <span class="n">groupdocs</span><span class="o">.</span><span class="n">api_server</span> <span class="o">=</span> <span class="s1">&#39;https://api.groupdocs.com&#39;</span>
33
+ <span class="k">end</span>
34
+ <span class="n">data</span><span class="o">.</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="o">|</span>
35
+ <span class="k">if</span> <span class="n">key</span> <span class="o">==</span> <span class="s1">&#39;SourceId&#39;</span>
36
+
37
+ <span class="n">envelope</span> <span class="o">=</span> <span class="ss">GroupDocs</span><span class="p">:</span><span class="ss">:Signature</span><span class="o">::</span><span class="no">Envelope</span><span class="o">.</span><span class="n">new</span> <span class="nb">id</span><span class="p">:</span> <span class="n">value</span><span class="p">,</span>
38
+ <span class="nb">name</span><span class="p">:</span> <span class="n">value</span>
39
+
40
+ <span class="n">envelope</span><span class="o">.</span><span class="n">signed_documents!</span> <span class="s1">&#39;.&#39;</span>
41
+ <span class="k">end</span>
42
+ <span class="k">end</span>
43
+ <span class="k">rescue</span> <span class="no">Exception</span> <span class="o">=&gt;</span> <span class="n">e</span>
44
+ <span class="n">err</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">message</span>
45
+ <span class="k">end</span>
46
+ <span class="k">end</span>
47
+
48
+
49
+ <span class="n">get</span> <span class="s1">&#39;/envelope-sample/check&#39;</span> <span class="k">do</span>
50
+ <span class="k">if</span> <span class="no">File</span><span class="o">.</span><span class="n">exist?</span><span class="p">(</span><span class="s1">&#39;signed&#39;</span><span class="p">)</span>
51
+ <span class="no">File</span><span class="o">.</span><span class="n">readlines</span><span class="p">(</span><span class="s1">&#39;signed&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">line</span><span class="o">|</span>
52
+ <span class="k">end</span>
53
+ <span class="k">else</span>
54
+ <span class="s1">&#39;Have not signed yet&#39;</span>
55
+ <span class="k">end</span>
56
+ <span class="k">end</span>
57
+
58
+
59
+ <span class="n">post</span> <span class="s1">&#39;/envelope-sample&#39;</span> <span class="k">do</span>
60
+ <span class="n">set</span> <span class="ss">:client_id</span><span class="p">,</span> <span class="n">params</span><span class="o">[</span><span class="ss">:client_id</span><span class="o">]</span>
61
+ <span class="n">set</span> <span class="ss">:private_key</span><span class="p">,</span> <span class="n">params</span><span class="o">[</span><span class="ss">:private_key</span><span class="o">]</span>
62
+
63
+ <span class="k">begin</span>
64
+ <span class="k">raise</span> <span class="s2">&quot;Please enter all required parameters&quot;</span> <span class="k">if</span> <span class="n">settings</span><span class="o">.</span><span class="n">client_id</span><span class="o">.</span><span class="n">empty?</span> <span class="ow">or</span> <span class="n">settings</span><span class="o">.</span><span class="n">private_key</span><span class="o">.</span><span class="n">empty?</span>
65
+
66
+ <span class="no">GroupDocs</span><span class="o">.</span><span class="n">configure</span> <span class="k">do</span> <span class="o">|</span><span class="n">groupdocs</span><span class="o">|</span>
67
+ <span class="n">groupdocs</span><span class="o">.</span><span class="n">client_id</span> <span class="o">=</span> <span class="n">params</span><span class="o">[</span><span class="ss">:client_id</span><span class="o">]</span>
68
+ <span class="n">groupdocs</span><span class="o">.</span><span class="n">private_key</span> <span class="o">=</span> <span class="n">params</span><span class="o">[</span><span class="ss">:private_key</span><span class="o">]</span>
69
+ <span class="n">groupdocs</span><span class="o">.</span><span class="n">api_server</span> <span class="o">=</span> <span class="s1">&#39;https://api.groupdocs.com&#39;</span>
70
+ <span class="k">end</span>
71
+
72
+
73
+ <span class="n">filepath</span> <span class="o">=</span> <span class="s2">&quot;</span><span class="si">#{</span><span class="no">Dir</span><span class="o">.</span><span class="n">tmpdir</span><span class="si">}</span><span class="s2">/</span><span class="si">#{</span><span class="n">params</span><span class="o">[</span><span class="ss">:file</span><span class="o">][</span><span class="ss">:filename</span><span class="o">]</span><span class="si">}</span><span class="s2">&quot;</span>
74
+ <span class="no">File</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="s1">&#39;wb&#39;</span><span class="p">)</span> <span class="p">{</span> <span class="o">|</span><span class="n">f</span><span class="o">|</span> <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">params</span><span class="o">[</span><span class="ss">:file</span><span class="o">][</span><span class="ss">:tempfile</span><span class="o">].</span><span class="n">read</span><span class="p">)</span> <span class="p">}</span>
75
+ <span class="n">file</span> <span class="o">=</span> <span class="ss">GroupDocs</span><span class="p">:</span><span class="ss">:Storage</span><span class="o">::</span><span class="no">File</span><span class="o">.</span><span class="n">upload!</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="p">{},</span> <span class="n">client_id</span><span class="p">:</span> <span class="n">settings</span><span class="o">.</span><span class="n">client_id</span><span class="p">,</span> <span class="n">private_key</span><span class="p">:</span> <span class="n">settings</span><span class="o">.</span><span class="n">private_key</span><span class="p">)</span>
76
+ <span class="n">document</span> <span class="o">=</span> <span class="n">file</span><span class="o">.</span><span class="n">to_document</span>
77
+
78
+
79
+ <span class="n">envelope</span> <span class="o">=</span> <span class="ss">GroupDocs</span><span class="p">:</span><span class="ss">:Signature</span><span class="o">::</span><span class="no">Envelope</span><span class="o">.</span><span class="n">new</span>
80
+ <span class="n">envelope</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;Envelope&quot;</span>
81
+ <span class="n">envelope</span><span class="o">.</span><span class="n">email_subject</span> <span class="o">=</span> <span class="s2">&quot;Sing this!&quot;</span>
82
+ <span class="n">envelope</span><span class="o">.</span><span class="n">create!</span>
83
+
84
+
85
+ <span class="n">envelope</span><span class="o">.</span><span class="n">add_document!</span> <span class="n">document</span>
86
+
87
+
88
+ <span class="n">document</span> <span class="o">=</span> <span class="n">envelope</span><span class="o">.</span><span class="n">documents!</span><span class="o">.</span><span class="n">first</span>
89
+
90
+
91
+ <span class="n">roles</span> <span class="o">=</span> <span class="ss">GroupDocs</span><span class="p">:</span><span class="ss">:Signature</span><span class="o">::</span><span class="no">Role</span><span class="o">.</span><span class="n">get!</span>
92
+ <span class="n">recipient</span> <span class="o">=</span> <span class="ss">GroupDocs</span><span class="p">:</span><span class="ss">:Signature</span><span class="o">::</span><span class="no">Recipient</span><span class="o">.</span><span class="n">new</span>
93
+ <span class="n">recipient</span><span class="o">.</span><span class="n">email</span> <span class="o">=</span> <span class="s1">&#39;john@smith.com&#39;</span>
94
+ <span class="n">recipient</span><span class="o">.</span><span class="n">first_name</span> <span class="o">=</span> <span class="s1">&#39;John&#39;</span>
95
+ <span class="n">recipient</span><span class="o">.</span><span class="n">last_name</span> <span class="o">=</span> <span class="s1">&#39;Smith&#39;</span>
96
+ <span class="n">recipient</span><span class="o">.</span><span class="n">role_id</span> <span class="o">=</span> <span class="n">roles</span><span class="o">.</span><span class="n">detect</span> <span class="p">{</span> <span class="o">|</span><span class="n">role</span><span class="o">|</span> <span class="n">role</span><span class="o">.</span><span class="n">name</span> <span class="o">==</span> <span class="s2">&quot;Signer&quot;</span> <span class="p">}</span><span class="o">.</span><span class="n">id</span>
97
+ <span class="n">envelope</span><span class="o">.</span><span class="n">add_recipient!</span> <span class="n">recipient</span>
98
+
99
+
100
+ <span class="n">recipient</span> <span class="o">=</span> <span class="n">envelope</span><span class="o">.</span><span class="n">recipients!</span><span class="o">.</span><span class="n">first</span>
101
+
102
+
103
+
104
+
105
+ field = GroupDocs::Signature::Field.get!.detect { |f| f.type == :single<em>line }
106
+ field.name = 'City'
107
+ field.location = { location</em>x: 0.3, location<em>y: 0.2, page: 1 }
108
+ envelope.add</em>field! field, document, recipient</p> </td> <td class="code"> <div class="highlight"><pre>
109
+
110
+
111
+ field = GroupDocs::Signature::Field.get!.detect { |f| f.type == :signature }
112
+ field.location = { location<em>x: 0.3, location</em>y: 0.3, page: 1 }
113
+ envelope.add_field! field, document, recipient</p> </td> <td class="code"> <div class="highlight"><pre>
114
+
115
+
116
+ <span class="n">webhook</span> <span class="o">=</span> <span class="s1">&#39;http://groupdocs-ruby-samples.herokuapp.com/envelope-sample/sign&#39;</span>
117
+
118
+
119
+ <span class="n">envelope</span><span class="o">.</span><span class="n">send!</span> <span class="n">webhook</span>
120
+
121
+
122
+ <span class="n">url</span> <span class="o">=</span> <span class="s2">&quot;https://apps.groupdocs.com/signature/signembed/</span><span class="si">#{</span><span class="n">envelope</span><span class="o">.</span><span class="n">id</span><span class="si">}</span><span class="s2">/</span><span class="si">#{</span><span class="n">recipient</span><span class="o">.</span><span class="n">id</span><span class="si">}</span><span class="s2">&quot;</span>
123
+ <span class="n">iframe</span> <span class="o">=</span> <span class="s2">&quot;&lt;iframe src=&#39;</span><span class="si">#{</span><span class="n">url</span><span class="si">}</span><span class="s2">&#39; frameborder=&#39;0&#39; width=&#39;720&#39; height=&#39;600&#39;&gt;&lt;/iframe&gt;&quot;</span>
124
+
125
+ <span class="k">rescue</span> <span class="no">Exception</span> <span class="o">=&gt;</span> <span class="n">e</span>
126
+ <span class="n">err</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">message</span>
127
+ <span class="k">end</span>
128
+
129
+ <span class="n">haml</span> <span class="ss">:envelope_sample</span><span class="p">,</span> <span class="ss">:locals</span> <span class="o">=&gt;</span> <span class="p">{</span> <span class="ss">:client_id</span> <span class="o">=&gt;</span> <span class="n">settings</span><span class="o">.</span><span class="n">client_id</span><span class="p">,</span> <span class="ss">:private_key</span> <span class="o">=&gt;</span> <span class="n">settings</span><span class="o">.</span><span class="n">private_key</span><span class="p">,</span> <span class="ss">:err</span> <span class="o">=&gt;</span> <span class="n">err</span><span class="p">,</span> <span class="ss">:iframe</span> <span class="o">=&gt;</span> <span class="n">iframe</span><span class="p">}</span>
130
+ <span class="k">end</span>
131
+
132
+ </pre></div> </td> </tr> </tbody> </table> </div> </body> </html>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html> <html> <head> <title>sample1.rb</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <link rel="stylesheet" media="all" href="docco.css" /> </head> <body> <div id="container"> <div id="background"></div> <div id="jump_to"> Jump To &hellip; <div id="jump_wrapper"> <div id="jump_page"> <a class="source" href="envelope-sample.html"> envelope-sample.rb </a> <a class="source" href="sample1.html"> sample1.rb </a> <a class="source" href="sample10.html"> sample10.rb </a> <a class="source" href="sample11.html"> sample11.rb </a> <a class="source" href="sample12.html"> sample12.rb </a> <a class="source" href="sample13.html"> sample13.rb </a> <a class="source" href="sample14.html"> sample14.rb </a> <a class="source" href="sample15.html"> sample15.rb </a> <a class="source" href="sample16.html"> sample16.rb </a> <a class="source" href="sample17.html"> sample17.rb </a> <a class="source" href="sample18.html"> sample18.rb </a> <a class="source" href="sample2.html"> sample2.rb </a> <a class="source" href="sample3.html"> sample3.rb </a> <a class="source" href="sample4.html"> sample4.rb </a> <a class="source" href="sample5.html"> sample5.rb </a> <a class="source" href="sample6.html"> sample6.rb </a> <a class="source" href="sample7.html"> sample7.rb </a> <a class="source" href="sample8.html"> sample8.rb </a> <a class="source" href="sample9.html"> sample9.rb </a> </div> </div> </div> <table cellpadding="0" cellspacing="0"> <thead> <tr> <th class="docs"> <h1> sample1.rb </h1> </th> <th class="code"> </th> </tr> </thead> <tbody> <tr id="section-1"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-1">&#182;</a> </div> <p>GET request</p> </td> <td class="code"> <div class="highlight"><pre><span class="n">get</span> <span class="s1">&#39;/sample1&#39;</span> <span class="k">do</span>
2
+ <span class="n">haml</span> <span class="ss">:sample1</span>
3
+ <span class="k">end</span>
4
+
5
+
6
+ <span class="n">post</span> <span class="s1">&#39;/sample1&#39;</span> <span class="k">do</span>
7
+
8
+ <span class="n">set</span> <span class="ss">:client_id</span><span class="p">,</span> <span class="n">params</span><span class="o">[</span><span class="ss">:client_id</span><span class="o">]</span>
9
+ <span class="n">set</span> <span class="ss">:private_key</span><span class="p">,</span> <span class="n">params</span><span class="o">[</span><span class="ss">:private_key</span><span class="o">]</span>
10
+
11
+ <span class="k">begin</span>
12
+
13
+ <span class="k">raise</span> <span class="s2">&quot;Please enter all required parameters&quot;</span> <span class="k">if</span> <span class="n">settings</span><span class="o">.</span><span class="n">client_id</span><span class="o">.</span><span class="n">empty?</span> <span class="ow">or</span> <span class="n">settings</span><span class="o">.</span><span class="n">private_key</span><span class="o">.</span><span class="n">empty?</span>
14
+
15
+
16
+ <span class="n">user</span> <span class="o">=</span> <span class="ss">GroupDocs</span><span class="p">:</span><span class="ss">:User</span><span class="o">.</span><span class="n">get!</span><span class="p">({</span><span class="ss">:client_id</span> <span class="o">=&gt;</span> <span class="n">settings</span><span class="o">.</span><span class="n">client_id</span><span class="p">,</span> <span class="ss">:private_key</span> <span class="o">=&gt;</span> <span class="n">settings</span><span class="o">.</span><span class="n">private_key</span><span class="p">})</span>
17
+
18
+ <span class="k">rescue</span> <span class="no">Exception</span> <span class="o">=&gt;</span> <span class="n">e</span>
19
+ <span class="n">err</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">message</span>
20
+ <span class="k">end</span>
21
+
22
+
23
+ <span class="n">haml</span> <span class="ss">:sample1</span><span class="p">,</span> <span class="ss">:locals</span> <span class="o">=&gt;</span> <span class="p">{</span> <span class="ss">:userId</span> <span class="o">=&gt;</span> <span class="n">settings</span><span class="o">.</span><span class="n">client_id</span><span class="p">,</span> <span class="ss">:privateKey</span> <span class="o">=&gt;</span> <span class="n">settings</span><span class="o">.</span><span class="n">private_key</span><span class="p">,</span> <span class="ss">:user</span> <span class="o">=&gt;</span> <span class="n">user</span><span class="p">,</span> <span class="ss">:err</span> <span class="o">=&gt;</span> <span class="n">err</span> <span class="p">}</span>
24
+ <span class="k">end</span>
25
+
26
+ </pre></div> </td> </tr> </tbody> </table> </div> </body> </html>
@@ -0,0 +1,49 @@
1
+ <!DOCTYPE html> <html> <head> <title>sample10.rb</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <link rel="stylesheet" media="all" href="docco.css" /> </head> <body> <div id="container"> <div id="background"></div> <div id="jump_to"> Jump To &hellip; <div id="jump_wrapper"> <div id="jump_page"> <a class="source" href="envelope-sample.html"> envelope-sample.rb </a> <a class="source" href="sample1.html"> sample1.rb </a> <a class="source" href="sample10.html"> sample10.rb </a> <a class="source" href="sample11.html"> sample11.rb </a> <a class="source" href="sample12.html"> sample12.rb </a> <a class="source" href="sample13.html"> sample13.rb </a> <a class="source" href="sample14.html"> sample14.rb </a> <a class="source" href="sample15.html"> sample15.rb </a> <a class="source" href="sample16.html"> sample16.rb </a> <a class="source" href="sample17.html"> sample17.rb </a> <a class="source" href="sample18.html"> sample18.rb </a> <a class="source" href="sample2.html"> sample2.rb </a> <a class="source" href="sample3.html"> sample3.rb </a> <a class="source" href="sample4.html"> sample4.rb </a> <a class="source" href="sample5.html"> sample5.rb </a> <a class="source" href="sample6.html"> sample6.rb </a> <a class="source" href="sample7.html"> sample7.rb </a> <a class="source" href="sample8.html"> sample8.rb </a> <a class="source" href="sample9.html"> sample9.rb </a> </div> </div> </div> <table cellpadding="0" cellspacing="0"> <thead> <tr> <th class="docs"> <h1> sample10.rb </h1> </th> <th class="code"> </th> </tr> </thead> <tbody> <tr id="section-1"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-1">&#182;</a> </div> <p>GET request</p> </td> <td class="code"> <div class="highlight"><pre><span class="n">get</span> <span class="s1">&#39;/sample10&#39;</span> <span class="k">do</span>
2
+ <span class="n">haml</span> <span class="ss">:sample10</span>
3
+ <span class="k">end</span>
4
+
5
+
6
+ <span class="n">post</span> <span class="s1">&#39;/sample10&#39;</span> <span class="k">do</span>
7
+
8
+ <span class="n">set</span> <span class="ss">:client_id</span><span class="p">,</span> <span class="n">params</span><span class="o">[</span><span class="ss">:client_id</span><span class="o">]</span>
9
+ <span class="n">set</span> <span class="ss">:private_key</span><span class="p">,</span> <span class="n">params</span><span class="o">[</span><span class="ss">:private_key</span><span class="o">]</span>
10
+ <span class="n">set</span> <span class="ss">:guid</span><span class="p">,</span> <span class="n">params</span><span class="o">[</span><span class="ss">:guid</span><span class="o">]</span>
11
+ <span class="n">set</span> <span class="ss">:email</span><span class="p">,</span> <span class="n">params</span><span class="o">[</span><span class="ss">:email</span><span class="o">]</span>
12
+
13
+ <span class="k">begin</span>
14
+
15
+ <span class="k">raise</span> <span class="s2">&quot;Please enter all required parameters&quot;</span> <span class="k">if</span> <span class="n">settings</span><span class="o">.</span><span class="n">client_id</span><span class="o">.</span><span class="n">empty?</span> <span class="ow">or</span> <span class="n">settings</span><span class="o">.</span><span class="n">private_key</span><span class="o">.</span><span class="n">empty?</span> <span class="ow">or</span> <span class="n">settings</span><span class="o">.</span><span class="n">guid</span><span class="o">.</span><span class="n">empty?</span> <span class="ow">or</span> <span class="n">settings</span><span class="o">.</span><span class="n">email</span><span class="o">.</span><span class="n">empty?</span>
16
+
17
+
18
+ <span class="n">files_list</span> <span class="o">=</span> <span class="ss">GroupDocs</span><span class="p">:</span><span class="ss">:Storage</span><span class="o">::</span><span class="no">Folder</span><span class="o">.</span><span class="n">list!</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">,</span> <span class="p">{},</span> <span class="p">{</span> <span class="ss">:client_id</span> <span class="o">=&gt;</span> <span class="n">settings</span><span class="o">.</span><span class="n">client_id</span><span class="p">,</span> <span class="ss">:private_key</span> <span class="o">=&gt;</span> <span class="n">settings</span><span class="o">.</span><span class="n">private_key</span><span class="p">})</span>
19
+
20
+ <span class="nb">name</span> <span class="o">=</span> <span class="kp">nil</span>
21
+ <span class="n">doc</span> <span class="o">=</span> <span class="kp">nil</span>
22
+ <span class="n">files_list</span><span class="o">.</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">element</span><span class="o">|</span>
23
+ <span class="k">if</span> <span class="n">element</span><span class="o">.</span><span class="n">class</span><span class="o">.</span><span class="n">name</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;::&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">last</span> <span class="o">==</span> <span class="s1">&#39;Folder&#39;</span>
24
+ <span class="k">next</span>
25
+ <span class="k">end</span>
26
+
27
+
28
+ <span class="k">if</span> <span class="n">element</span><span class="o">.</span><span class="n">guid</span> <span class="o">==</span> <span class="n">settings</span><span class="o">.</span><span class="n">guid</span>
29
+ <span class="nb">name</span> <span class="o">=</span> <span class="n">element</span><span class="o">.</span><span class="n">name</span>
30
+ <span class="n">doc</span> <span class="o">=</span> <span class="n">element</span>
31
+ <span class="k">end</span>
32
+ <span class="k">end</span>
33
+
34
+
35
+ <span class="n">shared</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="n">to_document</span><span class="o">.</span><span class="n">sharers_set!</span><span class="p">(</span><span class="n">settings</span><span class="o">.</span><span class="n">email</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot; &quot;</span><span class="p">),</span> <span class="p">{</span> <span class="ss">:client_id</span> <span class="o">=&gt;</span> <span class="n">settings</span><span class="o">.</span><span class="n">client_id</span><span class="p">,</span> <span class="ss">:private_key</span> <span class="o">=&gt;</span> <span class="n">settings</span><span class="o">.</span><span class="n">private_key</span><span class="p">});</span>
36
+
37
+
38
+ <span class="k">if</span> <span class="n">shared</span>
39
+ <span class="n">shared_emails</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">email</span>
40
+ <span class="k">end</span>
41
+ <span class="k">rescue</span> <span class="no">Exception</span> <span class="o">=&gt;</span> <span class="n">e</span>
42
+ <span class="n">err</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">message</span>
43
+ <span class="k">end</span>
44
+
45
+
46
+ <span class="n">haml</span> <span class="ss">:sample10</span><span class="p">,</span> <span class="ss">:locals</span> <span class="o">=&gt;</span> <span class="p">{</span> <span class="ss">:client_id</span> <span class="o">=&gt;</span> <span class="n">settings</span><span class="o">.</span><span class="n">client_id</span><span class="p">,</span> <span class="ss">:private_key</span> <span class="o">=&gt;</span> <span class="n">settings</span><span class="o">.</span><span class="n">private_key</span><span class="p">,</span> <span class="ss">:guid</span> <span class="o">=&gt;</span> <span class="n">settings</span><span class="o">.</span><span class="n">guid</span><span class="p">,</span> <span class="ss">:email</span><span class="o">=&gt;</span><span class="n">settings</span><span class="o">.</span><span class="n">email</span><span class="p">,</span> <span class="ss">:shared</span> <span class="o">=&gt;</span> <span class="n">shared_emails</span><span class="p">,</span> <span class="ss">:err</span> <span class="o">=&gt;</span> <span class="n">err</span> <span class="p">}</span>
47
+ <span class="k">end</span>
48
+
49
+ </pre></div> </td> </tr> </tbody> </table> </div> </body> </html>