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 CHANGED
@@ -1,2 +1,3 @@
1
1
  .bundle
2
2
  pkg/
3
+ .yardoc
@@ -1,37 +1,27 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pwkeep (0.0.3)
4
+ pwkeep (0.0.4)
5
5
  bundler
6
6
  colorize
7
7
  hashr
8
8
  highline
9
9
  keepass-password-generator
10
10
  lockfile
11
- ruco
12
11
  trollop
12
+ yard
13
13
 
14
14
  GEM
15
15
  remote: http://rubygems.org/
16
16
  specs:
17
- clipboard (1.0.5)
18
17
  colorize (0.6.0)
19
- dispel (0.0.3)
20
18
  hashr (0.0.22)
21
19
  highline (1.6.20)
22
20
  keepass-password-generator (0.1.1)
23
- language_sniffer (1.0.2)
24
21
  lockfile (2.1.0)
25
- plist (3.1.0)
26
22
  rake (10.1.1)
27
- ruco (0.2.19)
28
- clipboard (>= 0.9.8)
29
- dispel
30
- language_sniffer
31
- textpow (>= 1.3.0)
32
- textpow (1.3.1)
33
- plist (>= 3.0.1)
34
23
  trollop (2.0)
24
+ yard (0.8.6.2)
35
25
 
36
26
  PLATFORMS
37
27
  ruby
data/README.md CHANGED
@@ -27,13 +27,15 @@ And to show
27
27
 
28
28
  See --help for more options.
29
29
 
30
+ When upgrading from <0.4, please run --migrate once to rename your files.
31
+
30
32
  Features
31
33
  ========
32
34
 
33
35
  Password keep is intended to be simple and easy to use. It uses RSA + AES256 encryption for your credentials. The
34
36
  data is not restricted to usernames and passwords, you can store whatever you want.
35
37
 
36
- Editing is done with embedded ruco text editor using memory-only backing. No temporary files are used.
38
+ Editing is done with vipe, which you need to install.
37
39
 
38
40
  Configuration
39
41
  =============
@@ -55,7 +57,7 @@ File formats
55
57
  The private.pem file contains your private key. It is fully manipulatable with openssl binary without any specialities.
56
58
 
57
59
  system-\* files contain actual credentials. The file name consists from system- prefix and hashed system name. The system
58
- name is hashed iterations time with chosen hash, SHA512 by default.
60
+ name is encrypted with your public key, then hashed iterations time with chosen hash, SHA512 by default.
59
61
 
60
62
  The actual file format is:
61
63
 
data/Rakefile CHANGED
@@ -1,2 +1,7 @@
1
1
  require 'bundler'
2
+ require 'yard'
2
3
  Bundler::GemHelper.install_tasks
4
+
5
+ YARD::Rake::YardocTask.new do |t|
6
+ t.files = ['lib/**/*.rb', '-', 'README.md']
7
+ end
@@ -0,0 +1,323 @@
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
+ Module: PWKeep
8
+
9
+ &mdash; 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 (P)</a> &raquo;
35
+
36
+
37
+ <span class="title">PWKeep</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>Module: PWKeep
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+
75
+
76
+ <dt class="r1">Extended by:</dt>
77
+ <dd class="r1"><span class='object_link'><a href="" title="PWKeep (module)">PWKeep</a></span></dd>
78
+
79
+
80
+
81
+
82
+
83
+
84
+ <dt class="r2">Included in:</dt>
85
+ <dd class="r2"><span class='object_link'><a href="" title="PWKeep (module)">PWKeep</a></span></dd>
86
+
87
+
88
+
89
+ <dt class="r1 last">Defined in:</dt>
90
+ <dd class="r1 last">lib/pwkeep.rb<span class="defines">,<br />
91
+ lib/pwkeep/main.rb,<br /> lib/pwkeep/editor.rb,<br /> lib/pwkeep/config.rb,<br /> lib/pwkeep/storage.rb</span>
92
+ </dd>
93
+
94
+ </dl>
95
+ <div class="clear"></div>
96
+
97
+ <h2>Defined Under Namespace</h2>
98
+ <p class="children">
99
+
100
+
101
+
102
+
103
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="PWKeep/Config.html" title="PWKeep::Config (class)">Config</a></span>, <span class='object_link'><a href="PWKeep/Editor.html" title="PWKeep::Editor (class)">Editor</a></span>, <span class='object_link'><a href="PWKeep/EditorApplication.html" title="PWKeep::EditorApplication (class)">EditorApplication</a></span>, <span class='object_link'><a href="PWKeep/Exception.html" title="PWKeep::Exception (class)">Exception</a></span>, <span class='object_link'><a href="PWKeep/Main.html" title="PWKeep::Main (class)">Main</a></span>, <span class='object_link'><a href="PWKeep/StatusBar.html" title="PWKeep::StatusBar (class)">StatusBar</a></span>, <span class='object_link'><a href="PWKeep/Storage.html" title="PWKeep::Storage (class)">Storage</a></span>
104
+
105
+
106
+ </p>
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+ <h2>
116
+ Class Method Summary
117
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
118
+ </h2>
119
+
120
+ <ul class="summary">
121
+
122
+ <li class="public ">
123
+ <span class="summary_signature">
124
+
125
+ <a href="#run_editor-class_method" title="run_editor (class method)">+ (Object) <strong>run_editor</strong>(data, options) </a>
126
+
127
+
128
+
129
+ </span>
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+ <span class="summary_desc"><div class='inline'></div></span>
140
+
141
+ </li>
142
+
143
+
144
+ </ul>
145
+
146
+ <h2>
147
+ Instance Method Summary
148
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
149
+ </h2>
150
+
151
+ <ul class="summary">
152
+
153
+ <li class="public ">
154
+ <span class="summary_signature">
155
+
156
+ <a href="#logger-instance_method" title="#logger (instance method)">- (Object) <strong>logger</strong> </a>
157
+
158
+
159
+
160
+ </span>
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+ <span class="summary_desc"><div class='inline'></div></span>
171
+
172
+ </li>
173
+
174
+
175
+ </ul>
176
+
177
+
178
+
179
+
180
+ <div id="class_method_details" class="method_details_list">
181
+ <h2>Class Method Details</h2>
182
+
183
+
184
+ <div class="method_details first">
185
+ <h3 class="signature first" id="run_editor-class_method">
186
+
187
+ + (<tt>Object</tt>) <strong>run_editor</strong>(data, options)
188
+
189
+
190
+
191
+
192
+
193
+ </h3><table class="source_code">
194
+ <tr>
195
+ <td>
196
+ <pre class="lines">
197
+
198
+
199
+ 4
200
+ 5
201
+ 6
202
+ 7
203
+ 8
204
+ 9
205
+ 10
206
+ 11
207
+ 12
208
+ 13
209
+ 14
210
+ 15
211
+ 16
212
+ 17
213
+ 18
214
+ 19
215
+ 20
216
+ 21
217
+ 22
218
+ 23
219
+ 24
220
+ 25
221
+ 26
222
+ 27
223
+ 28
224
+ 29
225
+ 30
226
+ 31</pre>
227
+ </td>
228
+ <td>
229
+ <pre class="code"><span class="info file"># File 'lib/pwkeep/editor.rb', line 4</span>
230
+
231
+ <span class='kw'>def</span> <span class='kw'>self</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='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
232
+ <span class='id identifier rubyid_ret'>ret</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='kw'>false</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='rbracket'>]</span>
233
+
234
+ <span class='const'>Dispel</span><span class='op'>::</span><span class='const'>Screen</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_screen'>screen</span><span class='op'>|</span>
235
+ <span class='gvar'>$ruco_screen</span> <span class='op'>=</span> <span class='id identifier rubyid_screen'>screen</span>
236
+ <span class='id identifier rubyid_app'>app</span> <span class='op'>=</span> <span class='const'>PWKeep</span><span class='op'>::</span><span class='const'>EditorApplication</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span>
237
+ <span class='symbol'>:lines</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_screen'>screen</span><span class='period'>.</span><span class='id identifier rubyid_lines'>lines</span><span class='comma'>,</span> <span class='symbol'>:columns</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_screen'>screen</span><span class='period'>.</span><span class='id identifier rubyid_columns'>columns</span>
238
+ <span class='rparen'>)</span>
239
+
240
+ <span class='id identifier rubyid_screen'>screen</span><span class='period'>.</span><span class='id identifier rubyid_draw'>draw</span> <span class='op'>*</span><span class='id identifier rubyid_app'>app</span><span class='period'>.</span><span class='id identifier rubyid_display_info'>display_info</span>
241
+
242
+ <span class='const'>Dispel</span><span class='op'>::</span><span class='const'>Keyboard</span><span class='period'>.</span><span class='id identifier rubyid_output'>output</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='op'>|</span>
243
+ <span class='kw'>if</span> <span class='id identifier rubyid_key'>key</span> <span class='op'>==</span> <span class='symbol'>:resize</span>
244
+ <span class='id identifier rubyid_app'>app</span><span class='period'>.</span><span class='id identifier rubyid_resize'>resize</span><span class='lparen'>(</span><span class='id identifier rubyid_screen'>screen</span><span class='period'>.</span><span class='id identifier rubyid_lines'>lines</span><span class='comma'>,</span> <span class='id identifier rubyid_screen'>screen</span><span class='period'>.</span><span class='id identifier rubyid_columns'>columns</span><span class='rparen'>)</span>
245
+ <span class='kw'>else</span>
246
+ <span class='id identifier rubyid_result'>result</span> <span class='op'>=</span> <span class='id identifier rubyid_app'>app</span><span class='period'>.</span><span class='id identifier rubyid_key'>key</span> <span class='id identifier rubyid_key'>key</span>
247
+ <span class='kw'>if</span> <span class='id identifier rubyid_result'>result</span> <span class='op'>==</span> <span class='symbol'>:quit</span>
248
+ <span class='id identifier rubyid_ret'>ret</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='id identifier rubyid_app'>app</span><span class='period'>.</span><span class='id identifier rubyid_editor'>editor</span><span class='period'>.</span><span class='id identifier rubyid_saved_content'>saved_content</span> <span class='op'>!=</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_app'>app</span><span class='period'>.</span><span class='id identifier rubyid_editor'>editor</span><span class='period'>.</span><span class='id identifier rubyid_saved_content'>saved_content</span><span class='rbracket'>]</span>
249
+ <span class='kw'>break</span>
250
+ <span class='kw'>end</span>
251
+ <span class='kw'>end</span>
252
+
253
+ <span class='id identifier rubyid_screen'>screen</span><span class='period'>.</span><span class='id identifier rubyid_draw'>draw</span> <span class='op'>*</span><span class='id identifier rubyid_app'>app</span><span class='period'>.</span><span class='id identifier rubyid_display_info'>display_info</span>
254
+ <span class='kw'>end</span>
255
+ <span class='kw'>end</span>
256
+
257
+ <span class='kw'>return</span> <span class='id identifier rubyid_ret'>ret</span>
258
+ <span class='kw'>end</span></pre>
259
+ </td>
260
+ </tr>
261
+ </table>
262
+ </div>
263
+
264
+ </div>
265
+
266
+ <div id="instance_method_details" class="method_details_list">
267
+ <h2>Instance Method Details</h2>
268
+
269
+
270
+ <div class="method_details first">
271
+ <h3 class="signature first" id="logger-instance_method">
272
+
273
+ - (<tt>Object</tt>) <strong>logger</strong>
274
+
275
+
276
+
277
+
278
+
279
+ </h3><table class="source_code">
280
+ <tr>
281
+ <td>
282
+ <pre class="lines">
283
+
284
+
285
+ 14
286
+ 15
287
+ 16
288
+ 17
289
+ 18
290
+ 19
291
+ 20
292
+ 21
293
+ 22</pre>
294
+ </td>
295
+ <td>
296
+ <pre class="code"><span class="info file"># File 'lib/pwkeep.rb', line 14</span>
297
+
298
+ <span class='kw'>def</span> <span class='id identifier rubyid_logger'>logger</span>
299
+ <span class='kw'>unless</span> <span class='ivar'>@logger</span>
300
+ <span class='ivar'>@logger</span> <span class='op'>=</span> <span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='const'>STDOUT</span><span class='rparen'>)</span>
301
+ <span class='ivar'>@logger</span><span class='period'>.</span><span class='id identifier rubyid_formatter'>formatter</span> <span class='op'>=</span> <span class='id identifier rubyid_proc'>proc</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_severity'>severity</span><span class='comma'>,</span> <span class='id identifier rubyid_datetime'>datetime</span><span class='comma'>,</span> <span class='id identifier rubyid_progname'>progname</span><span class='comma'>,</span> <span class='id identifier rubyid_msg'>msg</span><span class='op'>|</span>
302
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_msg'>msg</span><span class='rbrace'>}</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span>
303
+ <span class='kw'>end</span>
304
+ <span class='kw'>end</span>
305
+ <span class='ivar'>@logger</span>
306
+ <span class='kw'>end</span></pre>
307
+ </td>
308
+ </tr>
309
+ </table>
310
+ </div>
311
+
312
+ </div>
313
+
314
+ </div>
315
+
316
+ <div id="footer">
317
+ Generated on Thu Jan 9 16:06:06 2014 by
318
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
319
+ 0.8.6.2 (ruby-1.9.3).
320
+ </div>
321
+
322
+ </body>
323
+ </html>
@@ -0,0 +1,192 @@
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::Config
8
+
9
+ &mdash; 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 (C)</a> &raquo;
35
+ <span class='title'><span class='object_link'><a href="../PWKeep.html" title="PWKeep (module)">PWKeep</a></span></span>
36
+ &raquo;
37
+ <span class="title">Config</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::Config
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">Hashr</span>
77
+
78
+ <ul class="fullTree">
79
+ <li>Object</li>
80
+
81
+ <li class="next">Hashr</li>
82
+
83
+ <li class="next">PWKeep::Config</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/config.rb</dd>
100
+
101
+ </dl>
102
+ <div class="clear"></div>
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+ <h2>
113
+ Instance Method Summary
114
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
115
+ </h2>
116
+
117
+ <ul class="summary">
118
+
119
+ <li class="public ">
120
+ <span class="summary_signature">
121
+
122
+ <a href="#load-instance_method" title="#load (instance method)">- (Object) <strong>load</strong>(file) </a>
123
+
124
+
125
+
126
+ </span>
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+ <span class="summary_desc"><div class='inline'></div></span>
137
+
138
+ </li>
139
+
140
+
141
+ </ul>
142
+
143
+
144
+
145
+
146
+
147
+ <div id="instance_method_details" class="method_details_list">
148
+ <h2>Instance Method Details</h2>
149
+
150
+
151
+ <div class="method_details first">
152
+ <h3 class="signature first" id="load-instance_method">
153
+
154
+ - (<tt>Object</tt>) <strong>load</strong>(file)
155
+
156
+
157
+
158
+
159
+
160
+ </h3><table class="source_code">
161
+ <tr>
162
+ <td>
163
+ <pre class="lines">
164
+
165
+
166
+ 6
167
+ 7
168
+ 8</pre>
169
+ </td>
170
+ <td>
171
+ <pre class="code"><span class="info file"># File 'lib/pwkeep/config.rb', line 6</span>
172
+
173
+ <span class='kw'>def</span> <span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span><span class='id identifier rubyid_file'>file</span><span class='rparen'>)</span>
174
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span> <span class='const'>YAML</span><span class='period'>.</span><span class='id identifier rubyid_load_file'>load_file</span><span class='lparen'>(</span><span class='id identifier rubyid_file'>file</span><span class='rparen'>)</span>
175
+ <span class='kw'>end</span></pre>
176
+ </td>
177
+ </tr>
178
+ </table>
179
+ </div>
180
+
181
+ </div>
182
+
183
+ </div>
184
+
185
+ <div id="footer">
186
+ Generated on Thu Jan 9 16:06:07 2014 by
187
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
188
+ 0.8.6.2 (ruby-1.9.3).
189
+ </div>
190
+
191
+ </body>
192
+ </html>