pwkeep 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
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>