pwkeep 0.0.3 → 0.0.4
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/.gitignore +1 -0
- data/Gemfile.lock +3 -13
- data/README.md +4 -2
- data/Rakefile +5 -0
- data/doc/PWKeep.html +323 -0
- data/doc/PWKeep/Config.html +192 -0
- data/doc/PWKeep/Editor.html +778 -0
- data/doc/PWKeep/EditorApplication.html +1221 -0
- data/doc/PWKeep/Exception.html +123 -0
- data/doc/PWKeep/Main.html +805 -0
- data/doc/PWKeep/StatusBar.html +436 -0
- data/doc/PWKeep/Storage.html +1128 -0
- data/doc/_index.html +191 -0
- data/doc/class_list.html +54 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +57 -0
- data/doc/css/style.css +338 -0
- data/doc/file.README.html +145 -0
- data/doc/file_list.html +56 -0
- data/doc/frames.html +28 -0
- data/doc/index.html +145 -0
- data/doc/js/app.js +214 -0
- data/doc/js/full_list.js +178 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +371 -0
- data/doc/top-level-namespace.html +112 -0
- data/lib/pwkeep.rb +0 -1
- data/lib/pwkeep/editor.rb +8 -457
- data/lib/pwkeep/main.rb +36 -13
- data/lib/pwkeep/storage.rb +22 -12
- data/pwkeep.gemspec +2 -2
- metadata +26 -4
@@ -0,0 +1,123 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
<title>
|
7
|
+
Exception: PWKeep::Exception
|
8
|
+
|
9
|
+
— Documentation by YARD 0.8.6.2
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
|
16
|
+
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
18
|
+
hasFrames = window.top.frames.main ? true : false;
|
19
|
+
relpath = '../';
|
20
|
+
framesUrl = "../frames.html#!" + escape(window.location.href);
|
21
|
+
</script>
|
22
|
+
|
23
|
+
|
24
|
+
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
25
|
+
|
26
|
+
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
27
|
+
|
28
|
+
|
29
|
+
</head>
|
30
|
+
<body>
|
31
|
+
<div id="header">
|
32
|
+
<div id="menu">
|
33
|
+
|
34
|
+
<a href="../_index.html">Index (E)</a> »
|
35
|
+
<span class='title'><span class='object_link'><a href="../PWKeep.html" title="PWKeep (module)">PWKeep</a></span></span>
|
36
|
+
»
|
37
|
+
<span class="title">Exception</span>
|
38
|
+
|
39
|
+
|
40
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
41
|
+
</div>
|
42
|
+
|
43
|
+
<div id="search">
|
44
|
+
|
45
|
+
<a class="full_list_link" id="class_list_link"
|
46
|
+
href="../class_list.html">
|
47
|
+
Class List
|
48
|
+
</a>
|
49
|
+
|
50
|
+
<a class="full_list_link" id="method_list_link"
|
51
|
+
href="../method_list.html">
|
52
|
+
Method List
|
53
|
+
</a>
|
54
|
+
|
55
|
+
<a class="full_list_link" id="file_list_link"
|
56
|
+
href="../file_list.html">
|
57
|
+
File List
|
58
|
+
</a>
|
59
|
+
|
60
|
+
</div>
|
61
|
+
<div class="clear"></div>
|
62
|
+
</div>
|
63
|
+
|
64
|
+
<iframe id="search_frame"></iframe>
|
65
|
+
|
66
|
+
<div id="content"><h1>Exception: PWKeep::Exception
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
</h1>
|
71
|
+
|
72
|
+
<dl class="box">
|
73
|
+
|
74
|
+
<dt class="r1">Inherits:</dt>
|
75
|
+
<dd class="r1">
|
76
|
+
<span class="inheritName">Exception</span>
|
77
|
+
|
78
|
+
<ul class="fullTree">
|
79
|
+
<li>Object</li>
|
80
|
+
|
81
|
+
<li class="next">Exception</li>
|
82
|
+
|
83
|
+
<li class="next">PWKeep::Exception</li>
|
84
|
+
|
85
|
+
</ul>
|
86
|
+
<a href="#" class="inheritanceTree">show all</a>
|
87
|
+
|
88
|
+
</dd>
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
|
98
|
+
<dt class="r2 last">Defined in:</dt>
|
99
|
+
<dd class="r2 last">lib/pwkeep.rb</dd>
|
100
|
+
|
101
|
+
</dl>
|
102
|
+
<div class="clear"></div>
|
103
|
+
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
|
114
|
+
</div>
|
115
|
+
|
116
|
+
<div id="footer">
|
117
|
+
Generated on Thu Jan 9 16:06:06 2014 by
|
118
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
119
|
+
0.8.6.2 (ruby-1.9.3).
|
120
|
+
</div>
|
121
|
+
|
122
|
+
</body>
|
123
|
+
</html>
|
@@ -0,0 +1,805 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
<title>
|
7
|
+
Class: PWKeep::Main
|
8
|
+
|
9
|
+
— Documentation by YARD 0.8.6.2
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
|
16
|
+
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
18
|
+
hasFrames = window.top.frames.main ? true : false;
|
19
|
+
relpath = '../';
|
20
|
+
framesUrl = "../frames.html#!" + escape(window.location.href);
|
21
|
+
</script>
|
22
|
+
|
23
|
+
|
24
|
+
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
25
|
+
|
26
|
+
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
27
|
+
|
28
|
+
|
29
|
+
</head>
|
30
|
+
<body>
|
31
|
+
<div id="header">
|
32
|
+
<div id="menu">
|
33
|
+
|
34
|
+
<a href="../_index.html">Index (M)</a> »
|
35
|
+
<span class='title'><span class='object_link'><a href="../PWKeep.html" title="PWKeep (module)">PWKeep</a></span></span>
|
36
|
+
»
|
37
|
+
<span class="title">Main</span>
|
38
|
+
|
39
|
+
|
40
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
41
|
+
</div>
|
42
|
+
|
43
|
+
<div id="search">
|
44
|
+
|
45
|
+
<a class="full_list_link" id="class_list_link"
|
46
|
+
href="../class_list.html">
|
47
|
+
Class List
|
48
|
+
</a>
|
49
|
+
|
50
|
+
<a class="full_list_link" id="method_list_link"
|
51
|
+
href="../method_list.html">
|
52
|
+
Method List
|
53
|
+
</a>
|
54
|
+
|
55
|
+
<a class="full_list_link" id="file_list_link"
|
56
|
+
href="../file_list.html">
|
57
|
+
File List
|
58
|
+
</a>
|
59
|
+
|
60
|
+
</div>
|
61
|
+
<div class="clear"></div>
|
62
|
+
</div>
|
63
|
+
|
64
|
+
<iframe id="search_frame"></iframe>
|
65
|
+
|
66
|
+
<div id="content"><h1>Class: PWKeep::Main
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
</h1>
|
71
|
+
|
72
|
+
<dl class="box">
|
73
|
+
|
74
|
+
<dt class="r1">Inherits:</dt>
|
75
|
+
<dd class="r1">
|
76
|
+
<span class="inheritName">Object</span>
|
77
|
+
|
78
|
+
<ul class="fullTree">
|
79
|
+
<li>Object</li>
|
80
|
+
|
81
|
+
<li class="next">PWKeep::Main</li>
|
82
|
+
|
83
|
+
</ul>
|
84
|
+
<a href="#" class="inheritanceTree">show all</a>
|
85
|
+
|
86
|
+
</dd>
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
<dt class="r2 last">Defined in:</dt>
|
97
|
+
<dd class="r2 last">lib/pwkeep/main.rb</dd>
|
98
|
+
|
99
|
+
</dl>
|
100
|
+
<div class="clear"></div>
|
101
|
+
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
|
106
|
+
<h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
|
107
|
+
<ul class="summary">
|
108
|
+
|
109
|
+
<li class="public ">
|
110
|
+
<span class="summary_signature">
|
111
|
+
|
112
|
+
<a href="#opts-instance_method" title="#opts (instance method)">- (Object) <strong>opts</strong> </a>
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
</span>
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
<span class="note title readonly">readonly</span>
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
<span class="summary_desc"><div class='inline'>
|
132
|
+
<p>Returns the value of attribute opts.</p>
|
133
|
+
</div></span>
|
134
|
+
|
135
|
+
</li>
|
136
|
+
|
137
|
+
|
138
|
+
</ul>
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
<h2>
|
145
|
+
Class Method Summary
|
146
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
147
|
+
</h2>
|
148
|
+
|
149
|
+
<ul class="summary">
|
150
|
+
|
151
|
+
<li class="public ">
|
152
|
+
<span class="summary_signature">
|
153
|
+
|
154
|
+
<a href="#run-class_method" title="run (class method)">+ (Object) <strong>run</strong> </a>
|
155
|
+
|
156
|
+
|
157
|
+
|
158
|
+
</span>
|
159
|
+
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
|
168
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
169
|
+
|
170
|
+
</li>
|
171
|
+
|
172
|
+
|
173
|
+
</ul>
|
174
|
+
|
175
|
+
<h2>
|
176
|
+
Instance Method Summary
|
177
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
178
|
+
</h2>
|
179
|
+
|
180
|
+
<ul class="summary">
|
181
|
+
|
182
|
+
<li class="public ">
|
183
|
+
<span class="summary_signature">
|
184
|
+
|
185
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">- (Main) <strong>initialize</strong> </a>
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
</span>
|
190
|
+
|
191
|
+
|
192
|
+
<span class="note title constructor">constructor</span>
|
193
|
+
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
|
200
|
+
|
201
|
+
<span class="summary_desc"><div class='inline'>
|
202
|
+
<p>A new instance of Main.</p>
|
203
|
+
</div></span>
|
204
|
+
|
205
|
+
</li>
|
206
|
+
|
207
|
+
|
208
|
+
<li class="public ">
|
209
|
+
<span class="summary_signature">
|
210
|
+
|
211
|
+
<a href="#load_config-instance_method" title="#load_config (instance method)">- (Object) <strong>load_config</strong> </a>
|
212
|
+
|
213
|
+
|
214
|
+
|
215
|
+
</span>
|
216
|
+
|
217
|
+
|
218
|
+
|
219
|
+
|
220
|
+
|
221
|
+
|
222
|
+
|
223
|
+
|
224
|
+
|
225
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
226
|
+
|
227
|
+
</li>
|
228
|
+
|
229
|
+
|
230
|
+
<li class="public ">
|
231
|
+
<span class="summary_signature">
|
232
|
+
|
233
|
+
<a href="#run-instance_method" title="#run (instance method)">- (Object) <strong>run</strong> </a>
|
234
|
+
|
235
|
+
|
236
|
+
|
237
|
+
</span>
|
238
|
+
|
239
|
+
|
240
|
+
|
241
|
+
|
242
|
+
|
243
|
+
|
244
|
+
|
245
|
+
|
246
|
+
|
247
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
248
|
+
|
249
|
+
</li>
|
250
|
+
|
251
|
+
|
252
|
+
<li class="public ">
|
253
|
+
<span class="summary_signature">
|
254
|
+
|
255
|
+
<a href="#setup-instance_method" title="#setup (instance method)">- (Object) <strong>setup</strong> </a>
|
256
|
+
|
257
|
+
|
258
|
+
|
259
|
+
</span>
|
260
|
+
|
261
|
+
|
262
|
+
|
263
|
+
|
264
|
+
|
265
|
+
|
266
|
+
|
267
|
+
|
268
|
+
|
269
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
270
|
+
|
271
|
+
</li>
|
272
|
+
|
273
|
+
|
274
|
+
</ul>
|
275
|
+
|
276
|
+
|
277
|
+
<div id="constructor_details" class="method_details_list">
|
278
|
+
<h2>Constructor Details</h2>
|
279
|
+
|
280
|
+
<div class="method_details first">
|
281
|
+
<h3 class="signature first" id="initialize-instance_method">
|
282
|
+
|
283
|
+
- (<tt><span class='object_link'><a href="" title="PWKeep::Main (class)">Main</a></span></tt>) <strong>initialize</strong>
|
284
|
+
|
285
|
+
|
286
|
+
|
287
|
+
|
288
|
+
|
289
|
+
</h3><div class="docstring">
|
290
|
+
<div class="discussion">
|
291
|
+
|
292
|
+
<p>A new instance of Main</p>
|
293
|
+
|
294
|
+
|
295
|
+
</div>
|
296
|
+
</div>
|
297
|
+
<div class="tags">
|
298
|
+
|
299
|
+
|
300
|
+
</div><table class="source_code">
|
301
|
+
<tr>
|
302
|
+
<td>
|
303
|
+
<pre class="lines">
|
304
|
+
|
305
|
+
|
306
|
+
8
|
307
|
+
9
|
308
|
+
10</pre>
|
309
|
+
</td>
|
310
|
+
<td>
|
311
|
+
<pre class="code"><span class="info file"># File 'lib/pwkeep/main.rb', line 8</span>
|
312
|
+
|
313
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span>
|
314
|
+
<span class='ivar'>@opts</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='symbol'>:home</span> <span class='op'>=></span> <span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>PWKEEP_HOME</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>~/.pwkeep</span><span class='tstring_end'>'</span></span> <span class='rbrace'>}</span> <span class='comment'># required value
|
315
|
+
</span><span class='kw'>end</span></pre>
|
316
|
+
</td>
|
317
|
+
</tr>
|
318
|
+
</table>
|
319
|
+
</div>
|
320
|
+
|
321
|
+
</div>
|
322
|
+
|
323
|
+
<div id="instance_attr_details" class="attr_details">
|
324
|
+
<h2>Instance Attribute Details</h2>
|
325
|
+
|
326
|
+
|
327
|
+
<span id=""></span>
|
328
|
+
<div class="method_details first">
|
329
|
+
<h3 class="signature first" id="opts-instance_method">
|
330
|
+
|
331
|
+
- (<tt>Object</tt>) <strong>opts</strong> <span class="extras">(readonly)</span>
|
332
|
+
|
333
|
+
|
334
|
+
|
335
|
+
|
336
|
+
|
337
|
+
</h3><div class="docstring">
|
338
|
+
<div class="discussion">
|
339
|
+
|
340
|
+
<p>Returns the value of attribute opts</p>
|
341
|
+
|
342
|
+
|
343
|
+
</div>
|
344
|
+
</div>
|
345
|
+
<div class="tags">
|
346
|
+
|
347
|
+
|
348
|
+
</div><table class="source_code">
|
349
|
+
<tr>
|
350
|
+
<td>
|
351
|
+
<pre class="lines">
|
352
|
+
|
353
|
+
|
354
|
+
6
|
355
|
+
7
|
356
|
+
8</pre>
|
357
|
+
</td>
|
358
|
+
<td>
|
359
|
+
<pre class="code"><span class="info file"># File 'lib/pwkeep/main.rb', line 6</span>
|
360
|
+
|
361
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_opts'>opts</span>
|
362
|
+
<span class='ivar'>@opts</span>
|
363
|
+
<span class='kw'>end</span></pre>
|
364
|
+
</td>
|
365
|
+
</tr>
|
366
|
+
</table>
|
367
|
+
</div>
|
368
|
+
|
369
|
+
</div>
|
370
|
+
|
371
|
+
|
372
|
+
<div id="class_method_details" class="method_details_list">
|
373
|
+
<h2>Class Method Details</h2>
|
374
|
+
|
375
|
+
|
376
|
+
<div class="method_details first">
|
377
|
+
<h3 class="signature first" id="run-class_method">
|
378
|
+
|
379
|
+
+ (<tt>Object</tt>) <strong>run</strong>
|
380
|
+
|
381
|
+
|
382
|
+
|
383
|
+
|
384
|
+
|
385
|
+
</h3><table class="source_code">
|
386
|
+
<tr>
|
387
|
+
<td>
|
388
|
+
<pre class="lines">
|
389
|
+
|
390
|
+
|
391
|
+
50
|
392
|
+
51
|
393
|
+
52</pre>
|
394
|
+
</td>
|
395
|
+
<td>
|
396
|
+
<pre class="code"><span class="info file"># File 'lib/pwkeep/main.rb', line 50</span>
|
397
|
+
|
398
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_run'>run</span>
|
399
|
+
<span class='const'>Main</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='period'>.</span><span class='id identifier rubyid_run'>run</span>
|
400
|
+
<span class='kw'>end</span></pre>
|
401
|
+
</td>
|
402
|
+
</tr>
|
403
|
+
</table>
|
404
|
+
</div>
|
405
|
+
|
406
|
+
</div>
|
407
|
+
|
408
|
+
<div id="instance_method_details" class="method_details_list">
|
409
|
+
<h2>Instance Method Details</h2>
|
410
|
+
|
411
|
+
|
412
|
+
<div class="method_details first">
|
413
|
+
<h3 class="signature first" id="load_config-instance_method">
|
414
|
+
|
415
|
+
- (<tt>Object</tt>) <strong>load_config</strong>
|
416
|
+
|
417
|
+
|
418
|
+
|
419
|
+
|
420
|
+
|
421
|
+
</h3><table class="source_code">
|
422
|
+
<tr>
|
423
|
+
<td>
|
424
|
+
<pre class="lines">
|
425
|
+
|
426
|
+
|
427
|
+
54
|
428
|
+
55
|
429
|
+
56
|
430
|
+
57
|
431
|
+
58
|
432
|
+
59</pre>
|
433
|
+
</td>
|
434
|
+
<td>
|
435
|
+
<pre class="code"><span class="info file"># File 'lib/pwkeep/main.rb', line 54</span>
|
436
|
+
|
437
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_load_config'>load_config</span>
|
438
|
+
<span class='id identifier rubyid_config_file'>config_file</span> <span class='op'>=</span> <span class='const'>Pathname</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@opts</span><span class='lbracket'>[</span><span class='symbol'>:home</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_expand_path'>expand_path</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>config.yml</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
439
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_config_file'>config_file</span><span class='period'>.</span><span class='id identifier rubyid_exist?'>exist?</span>
|
440
|
+
<span class='const'>PWKeep</span><span class='op'>::</span><span class='const'>Config</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span><span class='id identifier rubyid_config_file'>config_file</span><span class='rparen'>)</span>
|
441
|
+
<span class='kw'>end</span>
|
442
|
+
<span class='kw'>end</span></pre>
|
443
|
+
</td>
|
444
|
+
</tr>
|
445
|
+
</table>
|
446
|
+
</div>
|
447
|
+
|
448
|
+
<div class="method_details ">
|
449
|
+
<h3 class="signature " id="run-instance_method">
|
450
|
+
|
451
|
+
- (<tt>Object</tt>) <strong>run</strong>
|
452
|
+
|
453
|
+
|
454
|
+
|
455
|
+
|
456
|
+
|
457
|
+
</h3><table class="source_code">
|
458
|
+
<tr>
|
459
|
+
<td>
|
460
|
+
<pre class="lines">
|
461
|
+
|
462
|
+
|
463
|
+
61
|
464
|
+
62
|
465
|
+
63
|
466
|
+
64
|
467
|
+
65
|
468
|
+
66
|
469
|
+
67
|
470
|
+
68
|
471
|
+
69
|
472
|
+
70
|
473
|
+
71
|
474
|
+
72
|
475
|
+
73
|
476
|
+
74
|
477
|
+
75
|
478
|
+
76
|
479
|
+
77
|
480
|
+
78
|
481
|
+
79
|
482
|
+
80
|
483
|
+
81
|
484
|
+
82
|
485
|
+
83
|
486
|
+
84
|
487
|
+
85
|
488
|
+
86
|
489
|
+
87
|
490
|
+
88
|
491
|
+
89
|
492
|
+
90
|
493
|
+
91
|
494
|
+
92
|
495
|
+
93
|
496
|
+
94
|
497
|
+
95
|
498
|
+
96
|
499
|
+
97
|
500
|
+
98
|
501
|
+
99
|
502
|
+
100
|
503
|
+
101
|
504
|
+
102
|
505
|
+
103
|
506
|
+
104
|
507
|
+
105
|
508
|
+
106
|
509
|
+
107
|
510
|
+
108
|
511
|
+
109
|
512
|
+
110
|
513
|
+
111
|
514
|
+
112
|
515
|
+
113
|
516
|
+
114
|
517
|
+
115
|
518
|
+
116
|
519
|
+
117
|
520
|
+
118
|
521
|
+
119
|
522
|
+
120
|
523
|
+
121
|
524
|
+
122
|
525
|
+
123
|
526
|
+
124
|
527
|
+
125
|
528
|
+
126
|
529
|
+
127
|
530
|
+
128
|
531
|
+
129
|
532
|
+
130
|
533
|
+
131
|
534
|
+
132
|
535
|
+
133
|
536
|
+
134
|
537
|
+
135
|
538
|
+
136
|
539
|
+
137
|
540
|
+
138
|
541
|
+
139
|
542
|
+
140
|
543
|
+
141
|
544
|
+
142
|
545
|
+
143
|
546
|
+
144
|
547
|
+
145
|
548
|
+
146
|
549
|
+
147
|
550
|
+
148
|
551
|
+
149
|
552
|
+
150
|
553
|
+
151
|
554
|
+
152
|
555
|
+
153
|
556
|
+
154
|
557
|
+
155
|
558
|
+
156
|
559
|
+
157
|
560
|
+
158
|
561
|
+
159
|
562
|
+
160
|
563
|
+
161
|
564
|
+
162
|
565
|
+
163
|
566
|
+
164
|
567
|
+
165
|
568
|
+
166
|
569
|
+
167
|
570
|
+
168
|
571
|
+
169
|
572
|
+
170
|
573
|
+
171
|
574
|
+
172</pre>
|
575
|
+
</td>
|
576
|
+
<td>
|
577
|
+
<pre class="code"><span class="info file"># File 'lib/pwkeep/main.rb', line 61</span>
|
578
|
+
|
579
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_run'>run</span>
|
580
|
+
<span class='id identifier rubyid_setup'>setup</span>
|
581
|
+
<span class='id identifier rubyid_load_config'>load_config</span>
|
582
|
+
<span class='ivar'>@storage</span> <span class='op'>=</span> <span class='const'>PWKeep</span><span class='op'>::</span><span class='const'>Storage</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='symbol'>:path</span> <span class='op'>=></span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:home</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
583
|
+
|
584
|
+
<span class='kw'>begin</span>
|
585
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:initialize</span><span class='rbracket'>]</span>
|
586
|
+
<span class='ivar'>@storage</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span>
|
587
|
+
|
588
|
+
<span class='kw'>if</span> <span class='ivar'>@storage</span><span class='period'>.</span><span class='id identifier rubyid_valid?'>valid?</span>
|
589
|
+
<span class='id identifier rubyid_say'>say</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'><%= color('WARNING!', BOLD) %> a valid pwkeep storage was found!</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
590
|
+
<span class='id identifier rubyid_say'>say</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>If you continue, the existing storage becomes <%= color('UNUSABLE', BOLD) %></span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
591
|
+
<span class='kw'>unless</span> <span class='id identifier rubyid_agree'>agree</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Continue (y/n)? </span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
592
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>PWKeep</span><span class='op'>::</span><span class='const'>Exception</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Storage initialization aborted</span><span class='tstring_end'>"</span></span>
|
593
|
+
<span class='kw'>end</span>
|
594
|
+
<span class='kw'>end</span>
|
595
|
+
|
596
|
+
<span class='comment'># create a keypair
|
597
|
+
</span> <span class='id identifier rubyid_pw_a'>pw_a</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span>
|
598
|
+
<span class='id identifier rubyid_pw_b'>pw_b</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span>
|
599
|
+
<span class='kw'>while</span><span class='lparen'>(</span><span class='id identifier rubyid_pw_a'>pw_a</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span> <span class='kw'>or</span> <span class='id identifier rubyid_pw_a'>pw_a</span> <span class='op'>!=</span> <span class='id identifier rubyid_pw_b'>pw_b</span><span class='rparen'>)</span>
|
600
|
+
<span class='id identifier rubyid_pw_a'>pw_a</span> <span class='op'>=</span> <span class='id identifier rubyid_ask'>ask</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Enter your password: </span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_q'>q</span><span class='op'>|</span> <span class='id identifier rubyid_q'>q</span><span class='period'>.</span><span class='id identifier rubyid_echo'>echo</span> <span class='op'>=</span> <span class='kw'>false</span> <span class='rbrace'>}</span>
|
601
|
+
<span class='id identifier rubyid_pw_b'>pw_b</span> <span class='op'>=</span> <span class='id identifier rubyid_ask'>ask</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Confirm your password: </span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_q'>q</span><span class='op'>|</span> <span class='id identifier rubyid_q'>q</span><span class='period'>.</span><span class='id identifier rubyid_echo'>echo</span> <span class='op'>=</span> <span class='kw'>false</span> <span class='rbrace'>}</span>
|
602
|
+
<span class='id identifier rubyid_say'>say</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'><%= color('Passwords did not match', RED %></span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_pw_a'>pw_a</span> <span class='op'>==</span> <span class='id identifier rubyid_pw_b'>pw_b</span>
|
603
|
+
<span class='kw'>end</span>
|
604
|
+
<span class='ivar'>@storage</span><span class='period'>.</span><span class='id identifier rubyid_keypair_create'>keypair_create</span><span class='lparen'>(</span><span class='id identifier rubyid_pw_b'>pw_b</span><span class='rparen'>)</span>
|
605
|
+
<span class='comment'># this concludes initialization
|
606
|
+
</span> <span class='id identifier rubyid_say'>say</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'><%= color('Password storage initialized', GREEN %></span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
607
|
+
<span class='kw'>return</span>
|
608
|
+
<span class='kw'>end</span>
|
609
|
+
|
610
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Storage not initialized (run with --initialize)</span><span class='tstring_end'>"</span></span> <span class='kw'>unless</span> <span class='ivar'>@storage</span><span class='period'>.</span><span class='id identifier rubyid_valid?'>valid?</span>
|
611
|
+
|
612
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:view</span><span class='rbracket'>]</span>
|
613
|
+
<span class='id identifier rubyid_pw'>pw</span> <span class='op'>=</span> <span class='id identifier rubyid_ask'>ask</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Enter your password:</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_q'>q</span><span class='op'>|</span> <span class='id identifier rubyid_q'>q</span><span class='period'>.</span><span class='id identifier rubyid_echo'>echo</span> <span class='op'>=</span> <span class='kw'>false</span> <span class='rbrace'>}</span>
|
614
|
+
<span class='ivar'>@storage</span><span class='period'>.</span><span class='id identifier rubyid_keypair_load'>keypair_load</span> <span class='id identifier rubyid_pw'>pw</span>
|
615
|
+
|
616
|
+
<span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='ivar'>@storage</span><span class='period'>.</span><span class='id identifier rubyid_load_system'>load_system</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:system</span><span class='rbracket'>]</span>
|
617
|
+
|
618
|
+
<span class='id identifier rubyid_say'>say</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Last edited: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='symbol'>:stored_at</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='tstring_content'>\nSystem: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='symbol'>:system</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='tstring_content'>\n\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
619
|
+
<span class='id identifier rubyid_say'>say</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='symbol'>:data</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
620
|
+
<span class='kw'>return</span>
|
621
|
+
<span class='kw'>end</span>
|
622
|
+
|
623
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:create</span><span class='rbracket'>]</span>
|
624
|
+
<span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Username: \nPassword: </span><span class='embexpr_beg'>#{</span><span class='const'>KeePass</span><span class='op'>::</span><span class='const'>Password</span><span class='period'>.</span><span class='id identifier rubyid_generate'>generate</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>uullA{6}</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span>
|
625
|
+
|
626
|
+
<span class='id identifier rubyid_result'>result</span> <span class='op'>=</span> <span class='const'>PWKeep</span><span class='period'>.</span><span class='id identifier rubyid_run_editor'>run_editor</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
627
|
+
|
628
|
+
<span class='kw'>unless</span> <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
|
629
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>PWKeep</span><span class='op'>::</span><span class='const'>Exception</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Not modified</span><span class='tstring_end'>"</span></span>
|
630
|
+
<span class='kw'>end</span>
|
631
|
+
|
632
|
+
<span class='id identifier rubyid_pw'>pw</span> <span class='op'>=</span> <span class='id identifier rubyid_ask'>ask</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Enter your password:</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_q'>q</span><span class='op'>|</span> <span class='id identifier rubyid_q'>q</span><span class='period'>.</span><span class='id identifier rubyid_echo'>echo</span> <span class='op'>=</span> <span class='kw'>false</span> <span class='rbrace'>}</span>
|
633
|
+
<span class='ivar'>@storage</span><span class='period'>.</span><span class='id identifier rubyid_keypair_load'>keypair_load</span> <span class='id identifier rubyid_pw'>pw</span>
|
634
|
+
<span class='ivar'>@storage</span><span class='period'>.</span><span class='id identifier rubyid_save_system'>save_system</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:system</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
|
635
|
+
<span class='id identifier rubyid_say'>say</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'><%= color('Changes stored', GREEN)%></span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
636
|
+
<span class='kw'>return</span>
|
637
|
+
<span class='kw'>end</span>
|
638
|
+
|
639
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:edit</span><span class='rbracket'>]</span>
|
640
|
+
<span class='id identifier rubyid_pw'>pw</span> <span class='op'>=</span> <span class='id identifier rubyid_ask'>ask</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Enter your password:</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_q'>q</span><span class='op'>|</span> <span class='id identifier rubyid_q'>q</span><span class='period'>.</span><span class='id identifier rubyid_echo'>echo</span> <span class='op'>=</span> <span class='kw'>false</span> <span class='rbrace'>}</span>
|
641
|
+
<span class='ivar'>@storage</span><span class='period'>.</span><span class='id identifier rubyid_keypair_load'>keypair_load</span> <span class='id identifier rubyid_pw'>pw</span>
|
642
|
+
<span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='ivar'>@storage</span><span class='period'>.</span><span class='id identifier rubyid_load_system'>load_system</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:system</span><span class='rbracket'>]</span>
|
643
|
+
<span class='id identifier rubyid_result'>result</span> <span class='op'>=</span> <span class='const'>PWKeep</span><span class='period'>.</span><span class='id identifier rubyid_run_editor'>run_editor</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='symbol'>:data</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
644
|
+
<span class='kw'>unless</span> <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
|
645
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>PWKeep</span><span class='op'>::</span><span class='const'>Exception</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Not modified</span><span class='tstring_end'>"</span></span>
|
646
|
+
<span class='kw'>end</span>
|
647
|
+
<span class='ivar'>@storage</span><span class='period'>.</span><span class='id identifier rubyid_save_system'>save_system</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:system</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
|
648
|
+
<span class='id identifier rubyid_say'>say</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'><%= color('Changes stored', GREEN)%></span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
649
|
+
<span class='kw'>return</span>
|
650
|
+
<span class='kw'>end</span>
|
651
|
+
|
652
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:delete</span><span class='rbracket'>]</span>
|
653
|
+
<span class='id identifier rubyid_pw'>pw</span> <span class='op'>=</span> <span class='id identifier rubyid_ask'>ask</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Enter your password:</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_q'>q</span><span class='op'>|</span> <span class='id identifier rubyid_q'>q</span><span class='period'>.</span><span class='id identifier rubyid_echo'>echo</span> <span class='op'>=</span> <span class='kw'>false</span> <span class='rbrace'>}</span>
|
654
|
+
<span class='ivar'>@storage</span><span class='period'>.</span><span class='id identifier rubyid_keypair_load'>keypair_load</span> <span class='id identifier rubyid_pw'>pw</span>
|
655
|
+
<span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='ivar'>@storage</span><span class='period'>.</span><span class='id identifier rubyid_load_system'>load_system</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:system</span><span class='rbracket'>]</span>
|
656
|
+
<span class='comment'># just to be sure
|
657
|
+
</span> <span class='kw'>unless</span> <span class='id identifier rubyid_agree'>agree</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Are you <%=color('SURE',BOLD)%> you want to delete </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='symbol'>:system</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='tstring_content'>?</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
658
|
+
<span class='ivar'>@storage</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='symbol'>:system</span><span class='rbracket'>]</span>
|
659
|
+
<span class='kw'>end</span>
|
660
|
+
<span class='id identifier rubyid_say'>say</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'><%= color('System deleted', YELLOW)%></span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
661
|
+
<span class='kw'>return</span>
|
662
|
+
<span class='kw'>end</span>
|
663
|
+
|
664
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:search</span><span class='rbracket'>]</span>
|
665
|
+
<span class='id identifier rubyid_pw'>pw</span> <span class='op'>=</span> <span class='id identifier rubyid_ask'>ask</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Enter your password:</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_q'>q</span><span class='op'>|</span> <span class='id identifier rubyid_q'>q</span><span class='period'>.</span><span class='id identifier rubyid_echo'>echo</span> <span class='op'>=</span> <span class='kw'>false</span> <span class='rbrace'>}</span>
|
666
|
+
<span class='ivar'>@storage</span><span class='period'>.</span><span class='id identifier rubyid_keypair_load'>keypair_load</span> <span class='id identifier rubyid_pw'>pw</span>
|
667
|
+
<span class='id identifier rubyid_say'>say</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>All matching systems\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
668
|
+
<span class='ivar'>@storage</span><span class='period'>.</span><span class='id identifier rubyid_list_all_systems'>list_all_systems</span><span class='period'>.</span><span class='id identifier rubyid_sort'>sort</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_system'>system</span><span class='op'>|</span>
|
669
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_system'>system</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:search</span><span class='rbracket'>]</span>
|
670
|
+
<span class='id identifier rubyid_say'>say</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> - </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_system'>system</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
671
|
+
<span class='kw'>end</span>
|
672
|
+
<span class='kw'>end</span>
|
673
|
+
<span class='kw'>return</span>
|
674
|
+
<span class='kw'>end</span>
|
675
|
+
|
676
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:list</span><span class='rbracket'>]</span>
|
677
|
+
<span class='id identifier rubyid_pw'>pw</span> <span class='op'>=</span> <span class='id identifier rubyid_ask'>ask</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Enter your password:</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_q'>q</span><span class='op'>|</span> <span class='id identifier rubyid_q'>q</span><span class='period'>.</span><span class='id identifier rubyid_echo'>echo</span> <span class='op'>=</span> <span class='kw'>false</span> <span class='rbrace'>}</span>
|
678
|
+
<span class='ivar'>@storage</span><span class='period'>.</span><span class='id identifier rubyid_keypair_load'>keypair_load</span> <span class='id identifier rubyid_pw'>pw</span>
|
679
|
+
<span class='id identifier rubyid_say'>say</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>All known systems\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
680
|
+
<span class='ivar'>@storage</span><span class='period'>.</span><span class='id identifier rubyid_list_all_systems'>list_all_systems</span><span class='period'>.</span><span class='id identifier rubyid_sort'>sort</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_system'>system</span><span class='op'>|</span>
|
681
|
+
<span class='id identifier rubyid_say'>say</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> - </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_system'>system</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
682
|
+
<span class='kw'>end</span>
|
683
|
+
<span class='kw'>return</span>
|
684
|
+
<span class='kw'>end</span>
|
685
|
+
<span class='kw'>rescue</span> <span class='const'>PWKeep</span><span class='op'>::</span><span class='const'>Exception</span> <span class='op'>=></span> <span class='id identifier rubyid_e1'>e1</span>
|
686
|
+
<span class='const'>PWKeep</span><span class='op'>::</span><span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_error'>error</span> <span class='id identifier rubyid_e1'>e1</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='period'>.</span><span class='id identifier rubyid_colorize'>colorize</span><span class='lparen'>(</span><span class='symbol'>:red</span><span class='rparen'>)</span>
|
687
|
+
<span class='kw'>rescue</span> <span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>PKey</span><span class='op'>::</span><span class='const'>RSAError</span> <span class='op'>=></span> <span class='id identifier rubyid_e2'>e2</span>
|
688
|
+
<span class='const'>PWKeep</span><span class='op'>::</span><span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_error'>error</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Cannot load private key</span><span class='tstring_end'>"</span></span><span class='period'>.</span><span class='id identifier rubyid_colorize'>colorize</span><span class='lparen'>(</span><span class='symbol'>:red</span><span class='rparen'>)</span>
|
689
|
+
<span class='kw'>end</span>
|
690
|
+
<span class='kw'>end</span></pre>
|
691
|
+
</td>
|
692
|
+
</tr>
|
693
|
+
</table>
|
694
|
+
</div>
|
695
|
+
|
696
|
+
<div class="method_details ">
|
697
|
+
<h3 class="signature " id="setup-instance_method">
|
698
|
+
|
699
|
+
- (<tt>Object</tt>) <strong>setup</strong>
|
700
|
+
|
701
|
+
|
702
|
+
|
703
|
+
|
704
|
+
|
705
|
+
</h3><table class="source_code">
|
706
|
+
<tr>
|
707
|
+
<td>
|
708
|
+
<pre class="lines">
|
709
|
+
|
710
|
+
|
711
|
+
12
|
712
|
+
13
|
713
|
+
14
|
714
|
+
15
|
715
|
+
16
|
716
|
+
17
|
717
|
+
18
|
718
|
+
19
|
719
|
+
20
|
720
|
+
21
|
721
|
+
22
|
722
|
+
23
|
723
|
+
24
|
724
|
+
25
|
725
|
+
26
|
726
|
+
27
|
727
|
+
28
|
728
|
+
29
|
729
|
+
30
|
730
|
+
31
|
731
|
+
32
|
732
|
+
33
|
733
|
+
34
|
734
|
+
35
|
735
|
+
36
|
736
|
+
37
|
737
|
+
38
|
738
|
+
39
|
739
|
+
40
|
740
|
+
41
|
741
|
+
42
|
742
|
+
43
|
743
|
+
44
|
744
|
+
45
|
745
|
+
46
|
746
|
+
47
|
747
|
+
48</pre>
|
748
|
+
</td>
|
749
|
+
<td>
|
750
|
+
<pre class="code"><span class="info file"># File 'lib/pwkeep/main.rb', line 12</span>
|
751
|
+
|
752
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_setup'>setup</span>
|
753
|
+
<span class='ivar'>@opts</span> <span class='op'>=</span> <span class='const'>Trollop</span><span class='op'>::</span><span class='id identifier rubyid_options'>options</span> <span class='kw'>do</span>
|
754
|
+
<span class='id identifier rubyid_version'>version</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>0.0.1 (c) 2014 Aki Tuomi</span><span class='tstring_end'>"</span></span>
|
755
|
+
<span class='id identifier rubyid_banner'>banner</span> <span class='heredoc_beg'><<-EOS</span>
|
756
|
+
<span class='tstring_content'>This program is a simple password storage utility. Distributed under MIT license. NO WARRANTY.
|
757
|
+
|
758
|
+
Usage:
|
759
|
+
</span><span class='embexpr_beg'> #{</span><span class='gvar'>$0</span><span class='rbrace'>}</span><span class='tstring_content'> [options]
|
760
|
+
|
761
|
+
Where [options] are
|
762
|
+
|
763
|
+
</span><span class='heredoc_end'>EOS
|
764
|
+
</span> <span class='id identifier rubyid_opt'>opt</span> <span class='symbol'>:system</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>System name</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='symbol'>:type</span> <span class='op'>=></span> <span class='symbol'>:string</span><span class='comma'>,</span> <span class='symbol'>:short</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-n</span><span class='tstring_end'>'</span></span>
|
765
|
+
<span class='id identifier rubyid_opt'>opt</span> <span class='symbol'>:initialize</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Initialize storage at ~/.pwkeep (you can change this with PWKEEP_HOME or --home)</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='symbol'>:short</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-i</span><span class='tstring_end'>'</span></span>
|
766
|
+
<span class='id identifier rubyid_opt'>opt</span> <span class='symbol'>:create</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Create new entry</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='symbol'>:short</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-c</span><span class='tstring_end'>'</span></span>
|
767
|
+
<span class='id identifier rubyid_opt'>opt</span> <span class='symbol'>:view</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>View entry</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='symbol'>:short</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-v</span><span class='tstring_end'>'</span></span>
|
768
|
+
<span class='id identifier rubyid_opt'>opt</span> <span class='symbol'>:edit</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Edit entry</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='symbol'>:short</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-e</span><span class='tstring_end'>'</span></span>
|
769
|
+
<span class='id identifier rubyid_opt'>opt</span> <span class='symbol'>:delete</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Delete entry</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='symbol'>:short</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-d</span><span class='tstring_end'>'</span></span>
|
770
|
+
<span class='id identifier rubyid_opt'>opt</span> <span class='symbol'>:search</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Search for system or username</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='symbol'>:type</span> <span class='op'>=></span> <span class='symbol'>:string</span><span class='comma'>,</span> <span class='symbol'>:short</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-s</span><span class='tstring_end'>'</span></span>
|
771
|
+
<span class='id identifier rubyid_opt'>opt</span> <span class='symbol'>:list</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>List all known systems</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='symbol'>:short</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-l</span><span class='tstring_end'>'</span></span>
|
772
|
+
<span class='id identifier rubyid_opt'>opt</span> <span class='symbol'>:help</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Show usage</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='symbol'>:short</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-h</span><span class='tstring_end'>'</span></span>
|
773
|
+
<span class='id identifier rubyid_opt'>opt</span> <span class='symbol'>:home</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Home directory</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='symbol'>:short</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-H</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='symbol'>:type</span> <span class='op'>=></span> <span class='symbol'>:string</span><span class='comma'>,</span> <span class='symbol'>:default</span> <span class='op'>=></span> <span class='lparen'>(</span> <span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>PWKEEP_HOME</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>~/.pwkeep</span><span class='tstring_end'>'</span></span> <span class='rparen'>)</span>
|
774
|
+
<span class='id identifier rubyid_opt'>opt</span> <span class='symbol'>:version</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Show version</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='symbol'>:short</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-V</span><span class='tstring_end'>'</span></span>
|
775
|
+
<span class='kw'>end</span>
|
776
|
+
|
777
|
+
<span class='comment'># validate options
|
778
|
+
</span> <span class='const'>Trollop</span><span class='op'>::</span><span class='id identifier rubyid_die'>die</span> <span class='symbol'>:system</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>must be given for create/show/edit/delete</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:system</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='kw'>and</span> <span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:edit</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:view</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:delete</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:create</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
779
|
+
<span class='const'>Trollop</span><span class='op'>::</span><span class='id identifier rubyid_die'>die</span> <span class='symbol'>:create</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>can only have one mode of operation</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:create</span><span class='rbracket'>]</span> <span class='kw'>and</span> <span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:edit</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:view</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:delete</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:search</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:initialize</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:list</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
780
|
+
<span class='const'>Trollop</span><span class='op'>::</span><span class='id identifier rubyid_die'>die</span> <span class='symbol'>:edit</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>can only have one mode of operation</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:edit</span><span class='rbracket'>]</span> <span class='kw'>and</span> <span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:create</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:view</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:delete</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:search</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:initialize</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:list</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
781
|
+
<span class='const'>Trollop</span><span class='op'>::</span><span class='id identifier rubyid_die'>die</span> <span class='symbol'>:view</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>can only have one mode of operation</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:view</span><span class='rbracket'>]</span> <span class='kw'>and</span> <span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:edit</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:create</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:delete</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:search</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:initialize</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:list</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
782
|
+
<span class='const'>Trollop</span><span class='op'>::</span><span class='id identifier rubyid_die'>die</span> <span class='symbol'>:delete</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>can only have one mode of operation</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:delete</span><span class='rbracket'>]</span> <span class='kw'>and</span> <span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:edit</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:view</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:create</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:search</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:initialize</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:list</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
783
|
+
<span class='const'>Trollop</span><span class='op'>::</span><span class='id identifier rubyid_die'>die</span> <span class='symbol'>:search</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>can only have one mode of operation</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:search</span><span class='rbracket'>]</span> <span class='kw'>and</span> <span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:edit</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:view</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:delete</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:create</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:initialize</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:list</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
784
|
+
<span class='const'>Trollop</span><span class='op'>::</span><span class='id identifier rubyid_die'>die</span> <span class='symbol'>:initialize</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>can only have one mode of operation</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:initialize</span><span class='rbracket'>]</span> <span class='kw'>and</span> <span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:edit</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:view</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:delete</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:create</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:search</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:list</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
785
|
+
<span class='const'>Trollop</span><span class='op'>::</span><span class='id identifier rubyid_die'>die</span> <span class='symbol'>:list</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>can only have one mode of operation</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:list</span><span class='rbracket'>]</span> <span class='kw'>and</span> <span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:edit</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:view</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:delete</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:create</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:search</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:initialize</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
786
|
+
|
787
|
+
<span class='const'>Trollop</span><span class='op'>::</span><span class='id identifier rubyid_die'>die</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>You must choose one mode of operation</span><span class='tstring_end'>"</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:create</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:edit</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:view</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:delete</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:search</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:initialize</span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:list</span><span class='rbracket'>]</span>
|
788
|
+
<span class='kw'>end</span></pre>
|
789
|
+
</td>
|
790
|
+
</tr>
|
791
|
+
</table>
|
792
|
+
</div>
|
793
|
+
|
794
|
+
</div>
|
795
|
+
|
796
|
+
</div>
|
797
|
+
|
798
|
+
<div id="footer">
|
799
|
+
Generated on Thu Jan 9 16:06:06 2014 by
|
800
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
801
|
+
0.8.6.2 (ruby-1.9.3).
|
802
|
+
</div>
|
803
|
+
|
804
|
+
</body>
|
805
|
+
</html>
|