groupdocs 1.2.8 → 1.2.9

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.
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>